<SEC-DOCUMENT>0001107843-24-000008.txt : 20240222
<SEC-HEADER>0001107843-24-000008.hdr.sgml : 20240222
<ACCEPTANCE-DATETIME>20240222170754
ACCESSION NUMBER:		0001107843-24-000008
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		110
CONFORMED PERIOD OF REPORT:	20231231
FILED AS OF DATE:		20240222
DATE AS OF CHANGE:		20240222

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			QUALYS, INC.
		CENTRAL INDEX KEY:			0001107843
		STANDARD INDUSTRIAL CLASSIFICATION:	SERVICES-PREPACKAGED SOFTWARE [7372]
		ORGANIZATION NAME:           	06 Technology
		IRS NUMBER:				770534145
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-35662
		FILM NUMBER:		24665987

	BUSINESS ADDRESS:	
		STREET 1:		919 E. HILLSDALE BLVD.
		CITY:			FOSTER CITY
		STATE:			CA
		ZIP:			94404
		BUSINESS PHONE:		650-801-6100

	MAIL ADDRESS:	
		STREET 1:		919 E. HILLSDALE BLVD.
		CITY:			FOSTER CITY
		STATE:			CA
		ZIP:			94404

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	QUALYS INC
		DATE OF NAME CHANGE:	20000225
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>qlys-20231231.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:srt="http://fasb.org/srt/2023" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:qlys="http://www.qualys.com/20231231" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>qlys-20231231</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="c-1" name="dei:EntityCentralIndexKey" id="f-32">0001107843</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:DocumentFiscalYearFocus" id="f-33">2023</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:DocumentFiscalPeriodFocus" id="f-34">FY</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:AmendmentFlag" format="ixt:fixed-false" id="f-35">false</ix:nonNumeric><ix:nonNumeric contextRef="c-44" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="f-400">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="c-128" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" format="ixt-sec:duryear" id="f-827">1</ix:nonNumeric><ix:nonNumeric contextRef="c-129" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" format="ixt-sec:duryear" id="f-828">1</ix:nonNumeric><ix:nonNumeric contextRef="c-130" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" format="ixt-sec:duryear" id="f-829">1</ix:nonNumeric><ix:nonNumeric contextRef="c-131" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" format="ixt-sec:duryear" id="f-830">1</ix:nonNumeric><ix:nonNumeric contextRef="c-132" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" format="ixt-sec:duryear" id="f-831">1</ix:nonNumeric><ix:nonNumeric contextRef="c-133" xsi:nil="true" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="f-832"></ix:nonNumeric><ix:nonNumeric contextRef="c-212" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="f-1028">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="c-216" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="f-1036">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="c-221" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="f-1045">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="c-224" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="f-1053">P3Y</ix:nonNumeric><ix:nonFraction unitRef="number" contextRef="c-186" decimals="4" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" id="f-1177">33.33</ix:nonFraction><ix:nonNumeric contextRef="c-282" name="ecd:TrdArrDuration" format="ixt-sec:durday" id="f-1387">587</ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="qlys-20231231.xsd"/></ix:references><ix:resources><xbrli:context id="c-1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usd"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:context id="c-3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-02-12</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:context id="c-4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usdPerShare"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:context id="c-6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-10"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-11"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-12"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-13"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-14"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-15"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-16"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-17"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-18"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-19"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-20"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-21"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-22"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-23"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-24"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-25"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-26"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-27"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-28"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-29"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-32"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-33"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-34"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-35"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-36"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-37"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-38"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">qlys:CashHeldInEscrowWithBlueHexagonAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-39"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">qlys:CashHeldInEscrowWithBlueHexagonAcquisitionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-40"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">qlys:SecurityDepositsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PledgingPurposeAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-41"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">qlys:SecurityDepositsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PledgingPurposeAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-42"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-43"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-44"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-45"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-46"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">qlys:ScannerAppliancesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="reportingunit"><xbrli:measure>qlys:reportingUnit</xbrli:measure></xbrli:unit><xbrli:context id="c-47"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-48"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-49"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-50"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-51"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-52"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-53"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-54"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-55"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-56"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USGovernmentCorporationsAndAgenciesSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-57"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-58"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-59"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-60"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-61"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-62"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-63"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-64"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-65"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-66"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-67"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USGovernmentCorporationsAndAgenciesSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-68"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-69"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-70"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-71"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-72"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">qlys:ForeignGovernmentAgenciesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-73"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-74"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-75"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-76"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-77"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-78"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-79"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-80"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-81"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-82"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">qlys:ForeignGovernmentAgenciesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-83"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-84"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-85"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-86"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="eur"><xbrli:measure>iso4217:EUR</xbrli:measure></xbrli:unit><xbrli:unit id="gbp"><xbrli:measure>iso4217:GBP</xbrli:measure></xbrli:unit><xbrli:unit id="inr"><xbrli:measure>iso4217:INR</xbrli:measure></xbrli:unit><xbrli:context id="c-87"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-88"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">qlys:ForeignExchangeContractsForGBPAndEuroMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-89"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="cad"><xbrli:measure>iso4217:CAD</xbrli:measure></xbrli:unit><xbrli:context id="c-90"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-91"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-92"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-93"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-94"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-95"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-96"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-97"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-98"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-99"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-100"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-101"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-102"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-103"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-104"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-105"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-106"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-108"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-109"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis">us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-110"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis">us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-111"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis">us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-112"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis">us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-113"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis">us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-114"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis">us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-115"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-116"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-117"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-118"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-119"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-120"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-121"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">qlys:ScannerAppliancesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-122"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-123"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-124"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">qlys:ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-125"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">qlys:ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-126"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">qlys:ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-127"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">qlys:ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-128"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-129"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2025-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-130"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2026-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2027-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-132"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2028-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-133"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2029-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-134"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerSalesChannelAxis">us-gaap:SalesChannelDirectlyToConsumerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-135"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerSalesChannelAxis">us-gaap:SalesChannelDirectlyToConsumerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-136"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerSalesChannelAxis">us-gaap:SalesChannelDirectlyToConsumerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-137"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerSalesChannelAxis">us-gaap:SalesChannelThroughIntermediaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-138"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerSalesChannelAxis">us-gaap:SalesChannelThroughIntermediaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-139"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerSalesChannelAxis">us-gaap:SalesChannelThroughIntermediaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-140"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AssetAcquisitionAxis">qlys:BlueHexagonIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-04</xbrli:startDate><xbrli:endDate>2022-10-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-141"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AssetAcquisitionAxis">qlys:BlueHexagonIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-142"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AssetAcquisitionAxis">qlys:BlueHexagonIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-143"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">qlys:AssembledWorkforceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AssetAcquisitionAxis">qlys:BlueHexagonIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-144"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-08-19</xbrli:startDate><xbrli:endDate>2021-08-19</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-145"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-08-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-146"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-08-19</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-147"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-148"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-149"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">qlys:AssembledWorkforceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-150"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-151"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-152"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">qlys:AssembledWorkforceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="number"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:context id="c-153"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2012-10-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-154"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2012EquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-155"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2012EquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-156"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2012EquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-08</xbrli:startDate><xbrli:endDate>2022-06-08</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-157"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2012EquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-158"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2021EmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-09</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-159"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2021EmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-06-09</xbrli:startDate><xbrli:endDate>2021-06-09</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-160"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2021EmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-06-09</xbrli:startDate><xbrli:endDate>2021-06-09</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-161"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2021EmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-06-09</xbrli:startDate><xbrli:endDate>2021-06-09</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-162"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2021EmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-163"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-164"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-165"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-166"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-167"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-168"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-169"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-170"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-171"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-172"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-173"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-174"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-175"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-176"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-177"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-178"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:ESPPSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-179"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-180"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-181"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-182"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:ESPPSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-183"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:TimeBasedSharedBasedCompensationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-12-21</xbrli:startDate><xbrli:endDate>2018-12-21</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-184"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:TimeBasedSharedBasedCompensationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-185"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-186"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-12-21</xbrli:startDate><xbrli:endDate>2018-12-21</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-187"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:PresidentAndChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-12-21</xbrli:startDate><xbrli:endDate>2018-12-21</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-188"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:PresidentAndChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-12-21</xbrli:startDate><xbrli:endDate>2018-12-21</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-189"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-190"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:PerformanceSharesTrancheThreeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-12-21</xbrli:startDate><xbrli:endDate>2018-12-21</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-191"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:PerformanceSharesTrancheThreeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-12-21</xbrli:startDate><xbrli:endDate>2018-12-21</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-192"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:TimeBasedSharedBasedCompensationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-11-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-193"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-11-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-194"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-11-02</xbrli:startDate><xbrli:endDate>2019-11-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-195"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-11-02</xbrli:startDate><xbrli:endDate>2019-11-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-196"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-11-02</xbrli:startDate><xbrli:endDate>2019-11-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-197"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:TimeBasedSharedBasedCompensationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-10</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-198"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-10</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-199"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-12-10</xbrli:startDate><xbrli:endDate>2020-12-10</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-200"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-12-10</xbrli:startDate><xbrli:endDate>2020-12-10</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-201"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-12-10</xbrli:startDate><xbrli:endDate>2020-12-10</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-202"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-12-10</xbrli:startDate><xbrli:endDate>2020-12-10</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-203"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-02-01</xbrli:startDate><xbrli:endDate>2021-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-204"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-02-01</xbrli:startDate><xbrli:endDate>2020-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-205"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:PresidentAndChiefExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-03-19</xbrli:startDate><xbrli:endDate>2021-03-19</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-206"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:TimeBasedSharedBasedCompensationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-03-19</xbrli:startDate><xbrli:endDate>2021-03-19</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-207"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-03-19</xbrli:startDate><xbrli:endDate>2021-03-19</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-208"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-03-19</xbrli:startDate><xbrli:endDate>2021-03-19</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-209"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:PresidentAndChiefExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-27</xbrli:startDate><xbrli:endDate>2021-04-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-210"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:PresidentAndChiefExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-27</xbrli:startDate><xbrli:endDate>2021-04-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-211"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:PresidentAndChiefExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-27</xbrli:startDate><xbrli:endDate>2021-04-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-212"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-10-28</xbrli:startDate><xbrli:endDate>2021-10-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-213"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:PerformanceSharesTrancheThreeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-10-28</xbrli:startDate><xbrli:endDate>2021-10-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-214"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:PerformanceSharesTrancheThreeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-10-28</xbrli:startDate><xbrli:endDate>2021-10-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-215"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-10-28</xbrli:startDate><xbrli:endDate>2021-10-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-216"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-27</xbrli:startDate><xbrli:endDate>2022-10-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-217"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-27</xbrli:startDate><xbrli:endDate>2022-10-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-218"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-27</xbrli:startDate><xbrli:endDate>2022-10-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-219"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-06</xbrli:startDate><xbrli:endDate>2023-02-06</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-220"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-07-27</xbrli:startDate><xbrli:endDate>2023-07-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-221"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-06</xbrli:startDate><xbrli:endDate>2023-07-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-222"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-06</xbrli:startDate><xbrli:endDate>2023-07-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-223"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-06</xbrli:startDate><xbrli:endDate>2023-07-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-224"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-26</xbrli:startDate><xbrli:endDate>2023-10-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-225"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-26</xbrli:startDate><xbrli:endDate>2023-10-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-226"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-26</xbrli:startDate><xbrli:endDate>2023-10-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-227"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-228"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-229"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-230"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-232"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-233"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-234"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-235"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-236"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-237"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:ExecutiveOfficer1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-238"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:ExecutiveOfficer1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-239"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-240"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:ExecutiveOfficer2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-241"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:ExecutiveOfficer3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-242"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:ExecutiveOfficer3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-243"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:ExecutiveOfficer4Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-244"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:ExecutiveOfficer4Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-245"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:ExecutiveOfficer4Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-246"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2021EmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-247"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2021EmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-248"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2018-02-12</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-249"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2018-10-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-250"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-10-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-251"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-05-07</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-252"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-02-10</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-253"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-11-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-254"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-05-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-255"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-02-09</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-256"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-02-07</xbrli:startDate><xbrli:endDate>2024-02-07</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-257"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-07</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-258"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-259"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="segment"><xbrli:measure>qlys:segment</xbrli:measure></xbrli:unit><xbrli:context id="c-260"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-261"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-262"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-263"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-264"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-265"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-266"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-267"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-268"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-269"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-270"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">qlys:OtherGeographicAreasMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-271"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">qlys:OtherGeographicAreasMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-272"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-273"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-274"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-275"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-276"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-277"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-278"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">qlys:EmployeeStockPurchasePlanSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-279"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">qlys:EmployeeStockPurchasePlanSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-280"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">qlys:EmployeeStockPurchasePlanSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-281"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="ecd:IndividualAxis">qlys:JeffreyHankMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-282"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="ecd:IndividualAxis">qlys:JeffreyHankMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-283"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="ecd:IndividualAxis">qlys:JeffreyHankMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-284"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001107843</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context></ix:resources></ix:header></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_1"></div><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:98.900%"/><td style="width:0.1%"/></tr><tr style="height:3pt"><td colspan="3" style="border-bottom:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">UNITED STATES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">SECURITIES AND EXCHANGE COMMISSION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Washington, D.C. 20549</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">___________________________________________</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">FORM <ix:nonNumeric contextRef="c-1" name="dei:DocumentType" id="f-1">10-K</ix:nonNumeric></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">___________________________________________</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.178%"><tr><td style="width:1.0%"/><td style="width:3.142%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:94.658%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:DocumentAnnualReport" format="ixt:fixed-true" id="f-2">x</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Annual Report Pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934</span></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">For the Fiscal Year Ended <ix:nonNumeric contextRef="c-1" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en" id="f-3"><ix:nonNumeric contextRef="c-1" name="dei:CurrentFiscalYearEndDate" format="ixt:date-monthname-day-en" id="f-4">December 31</ix:nonNumeric>, 2023</ix:nonNumeric></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">or</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.178%"><tr><td style="width:1.0%"/><td style="width:2.990%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:94.810%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:114%"><ix:nonNumeric contextRef="c-1" name="dei:DocumentTransitionReport" format="ixt:fixed-false" id="f-5">o</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">Transition Report Pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934</span></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">For the transition period from &#160;&#160;&#160;&#160;&#160;&#160;&#160;to</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Commission file number <ix:nonNumeric contextRef="c-1" name="dei:EntityFileNumber" id="f-6">001-35662</ix:nonNumeric></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">___________________________________________</span></div><div style="margin-top:10pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:18pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityRegistrantName" id="f-7">QUALYS, INC.</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Exact name of registrant as specified in its charter)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">___________________________________________</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:48.614%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:48.615%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" id="f-8">Delaware</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityTaxIdentificationNumber" id="f-9">77-0534145</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(State or other jurisdiction of<br/>incorporation or organization)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(I.R.S. Employer<br/>Identification Number)</span></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressAddressLine1" id="f-10">919 E. Hillsdale Boulevard, 4th Floor</ix:nonNumeric>, <ix:nonNumeric contextRef="c-1" name="dei:EntityAddressCityOrTown" id="f-11">Foster City</ix:nonNumeric>, <ix:nonNumeric contextRef="c-1" name="dei:EntityAddressStateOrProvince" format="ixt-sec:stateprovnameen" id="f-12">California</ix:nonNumeric> <ix:nonNumeric contextRef="c-1" name="dei:EntityAddressPostalZipCode" id="f-13">94404</ix:nonNumeric></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Address of principal executive offices, including zip code)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(<ix:nonNumeric contextRef="c-1" name="dei:CityAreaCode" id="f-14">650</ix:nonNumeric>) <ix:nonNumeric contextRef="c-1" name="dei:LocalPhoneNumber" id="f-15">801-6100</ix:nonNumeric></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Registrant&#8217;s telephone number, including area code)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">___________________________________________</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Securities registered pursuant to section 12(b) of the Act:</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:36.042%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:23.471%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:36.045%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Title of each class</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Trading Symbol(s)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Name of exchange on which registered</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:Security12bTitle" id="f-16">Common stock, $0.001 par value per share</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:TradingSymbol" id="f-17">QLYS</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:SecurityExchangeName" id="f-18">NASDAQ</ix:nonNumeric> Stock Market</span></div></td></tr></table></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Securities registered pursuant to section 12(g) of the Act: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None</span></div><div style="margin-top:4pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. </span></div><div style="margin-top:4pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityWellKnownSeasonedIssuer" id="f-19">Yes</ix:nonNumeric> </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">x</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;  &#160;No </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">o</span></div><div style="margin-top:4pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act. Yes </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">o</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;  &#160; <ix:nonNumeric contextRef="c-1" name="dei:EntityVoluntaryFilers" id="f-20">No</ix:nonNumeric> </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">x</span></div><div style="margin-top:4pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days. <ix:nonNumeric contextRef="c-1" name="dei:EntityCurrentReportingStatus" id="f-21">Yes</ix:nonNumeric> </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">x</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;  &#160; No&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">o</span></div><div style="margin-top:4pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).&#160;  &#160;<ix:nonNumeric contextRef="c-1" name="dei:EntityInteractiveDataCurrent" id="f-22">Yes</ix:nonNumeric> </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">x</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;  &#160;No </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">o</span></div><div style="margin-top:4pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act. </span></div><div style="margin-top:4pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:18.042%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:4.614%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:4.614%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.042%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:4.614%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:20.757%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:5.046%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen" id="f-23">Large accelerated filer</ix:nonNumeric></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">x</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accelerated filer</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">o</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-accelerated filer</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">o</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Smaller reporting company</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntitySmallBusiness" format="ixt:fixed-false" id="f-24">o</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Emerging growth company</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityEmergingGrowthCompany" format="ixt:fixed-false" id="f-25">o</ix:nonNumeric></span></td></tr></table></div><div style="margin-top:4pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">o</span></div><div style="margin-top:4pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report. </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:IcfrAuditorAttestationFlag" format="ixt:fixed-true" id="f-26">x</ix:nonNumeric></span></div><div style="margin-top:4pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements. </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:DocumentFinStmtErrorCorrectionFlag" format="ixt:fixed-false" id="f-27">o</ix:nonNumeric></span></div><div style="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant&#8217;s executive officers during the relevant recovery period pursuant to &#167;240.10D-1(b). </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">o</span></div><div style="margin-top:4pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).&#160;  &#160;Yes </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">o</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> No&#160; &#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityShellCompany" format="ixt:fixed-false" id="f-28">x</ix:nonNumeric></span></div><div style="margin-top:4pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2023, the aggregate market value of voting shares of common stock held by non-affiliates of the registrant was $<ix:nonFraction unitRef="usd" contextRef="c-2" decimals="-6" name="dei:EntityPublicFloat" format="ixt:num-dot-decimal" scale="6" id="f-29">3,637</ix:nonFraction> million based on the last reported sale price of the registrant's common stock on June 30, 2023. Shares of common stock held by each executive officer and director and by each person who owns 10% or more of the outstanding common stock have been excluded in that such persons may be deemed to be affiliates. This determination of affiliate status is not necessarily a conclusive determination for other purposes.</span></div><div style="margin-top:4pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The number of shares of the registrant's common stock outstanding as</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of February&#160;12, 2024 was <ix:nonFraction unitRef="shares" contextRef="c-3" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-30">36,977,259</ix:nonFraction> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">shares.</span></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">DOCUMENTS INCORPORATED BY REFERENCE </span></div><ix:nonNumeric contextRef="c-1" name="dei:DocumentsIncorporatedByReferenceTextBlock" id="f-31" escape="true"><div style="margin-top:4pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Portions of the registrant's Proxy Statement for its 2024 Annual Meeting of Stockholders are incorporated by reference in Part III of this Annual Report on Form 10-K where indicated. Such proxy statement will be filed with the Securities and Exchange Commission within 120 days of the registrant's fiscal year ended December&#160;31, 2023.</span></div></ix:nonNumeric><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:98.900%"/><td style="width:0.1%"/></tr><tr style="height:3pt"><td colspan="3" style="border-bottom:3pt double #000;padding:0 1pt"/></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt"><span><br/></span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_7"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Qualys, Inc.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">TABLE OF CONTENTS</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:8.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:80.757%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.472%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Page</span></td></tr><tr><td colspan="6" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_10">Risk Factor Summary</a></span></div></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_10">3</a></span></div></td></tr><tr><td colspan="6" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_13">Note Regarding Forward-Looking Statements</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_13">5</a></span></div></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_16">PART I </a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_19">Item 1.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_19">Business</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_19">6</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_22">Item 1A.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_22">Risk Factors</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_22">15</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_25">Item 1B.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_25">Unresolved Staff Comments</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_25">37</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_432">Item 1C.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_432">Cybersecurity</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_432">37</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_28">Item 2.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_28">Properties</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_28">39</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_31">Item 3.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_31">Legal Proceedings</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_31">39</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_34">Item 4.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_34">Mine Safety Disclosures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_34">39</a></span></div></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_37">PART II</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_40">Item 5.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_40">Market for Registrant's Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_40">40</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_43">Item 6.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_43">[Reserved]</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_43">42</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_46">Item 7.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_46">Management's Discussion and Analysis of Financial Condition and Results of Operations</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_46">43</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_70">Item 7A.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_70">Quantitative and Qualitative Disclosures About Market Risk</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_70">51</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_73">Item 8.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_73">Financial Statements and Supplementary Data</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_73">53</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_145">Item 9.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_145">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_145">90</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_148">Item 9A.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_148">Controls and Procedures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_148">90</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_151">Item 9B.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_151">Other Information</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_151">91</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_154">Item 9C.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_154">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_154">91</a></span></div></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_157">PART III</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_160">Item 10.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_160">Directors, Executive Officers and Corporate Governance</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_160">92</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_163">Item 11.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_163">Executive Compensation</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_163">92</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_166">Item 12.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_166">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_166">92</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_169">Item 13.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_169">Certain Relationships and Related Transactions, and Director Independence</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_169">93</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_172">Item 14.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_172">Principal Accountant Fees and Services</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_172">93</a></span></div></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_175">PART IV</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_178">Item 15.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_178">Exhibits and Financial Statement Schedules</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_178">94</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><a style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:none" href="#i0668aaa2a4b841bfbaf18f9d4436768b_521">Item 16.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_521">F</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_521">orm 10-K S</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_521">ummary</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_521">96</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_181">Signatures</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_181">97</a></span></div></td></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_10"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">RISK FACTOR SUMMARY</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our business is subject to significant risks and uncertainties that make an investment in us speculative and risky. Below we summarize what we believe are the principal risk factors but these risks are not the only ones we face, and you should carefully review and consider the full discussion of our risk factors in the section titled &#8220;Risk Factors,&#8221; together with the other information in this Annual Report on Form 10-K. If any of the following risks actually occurs (or if any of those listed elsewhere in this Annual Report on Form 10-K occur), our business, reputation, financial condition, results of operations, revenue, and future prospects could be seriously harmed. Additional risks and uncertainties that we are unaware of, or that we currently believe are not material, may also become important factors that adversely affect our business.</span></div><div style="padding-left:36pt"><span><br/></span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Our quarterly and annual operating results may vary from period to period, which could result in our failure to meet expectations with respect to operating results and cause the trading price of our stock to decline.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">If we do not successfully anticipate market needs and opportunities or are unable to enhance our solutions and develop new solutions that meet those needs and opportunities on a timely or cost-effective basis, we may not be able to compete effectively and our business and financial condition may be harmed.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">If we fail to continue to effectively scale and adapt our platform to meet the performance and other requirements of our customers, our operating results and our business would be harmed.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">If we are unable to renew existing subscriptions for our IT, security and compliance solutions, sell additional subscriptions for our solutions and attract new customers, our operating results would be harmed.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Our current research and development efforts may not produce successful products or enhancements to our platform that result in significant revenue, cost savings or other benefits in the near future.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Our platform, website and internal systems may be subject to intentional disruption or other security incidents that could result in liability and adversely impact our reputation and future sales.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Our sales cycle can be long and unpredictable, and our sales efforts require considerable time and expense. As a result, revenues may vary from period to period, which may cause our operating results to fluctuate and could harm our business.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Adverse economic conditions or reduced IT spending may adversely impact our business.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Our IT, security and compliance solutions are delivered from 14 shared cloud platforms, and any disruption of service at these facilities would interrupt or delay our ability to deliver our solutions to our customers which could reduce our revenues and harm our operating results.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">We face competition in our markets, and we may lack sufficient financial or other resources to maintain or improve our competitive position.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">If our solutions fail to detect vulnerabilities or incorrectly detect vulnerabilities, our brand and reputation could be harmed, which could have an adverse effect on our business and results of operations.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">If we are unable to continue the expansion of our sales force, sales of our solutions and the growth of our business would be harmed.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">We rely on third-party channel partners to generate a substantial amount of our revenues, and if we fail to expand and manage our distribution channels, our revenues could decline and our growth prospects could suffer.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">A significant portion of our customers, channel partners and employees are located outside of the United States, which subjects us to a number of risks associated with conducting international operations, and if we are unable to successfully manage these risks, our business and operating results could be harmed.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">If the market for cloud solutions for IT, security and compliance does not evolve as we anticipate, our revenues may not grow and our operating results would be harmed.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Our business and operations have continued to grow since inception, and if we do not appropriately manage any future growth, or are unable to improve our systems and processes, our operating results may be negatively affected.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">A portion of our revenues are generated by sales to government entities, which are subject to a number of challenges and risks.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Undetected software errors or flaws in our solutions could harm our reputation, decrease market acceptance of our solutions or result in liability.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Our solutions could be used to collect and store personal information of our customers&#8217; employees or customers, and therefore privacy and other data handling concerns could result in additional cost and liability to us or inhibit sales of our solutions.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Our solutions contain third-party open source software components, and our failure to comply with the terms of the underlying open source software licenses could restrict our ability to sell our solutions.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">We use third-party software and data that may be difficult to replace or cause errors or failures of our solutions that could lead to lost customers or harm to our reputation and our operating results.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Failure to protect our proprietary technology and intellectual property rights could substantially harm our business and operating results.</span></div><div style="padding-left:72pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Assertions by third parties of infringement or other violations by us of their intellectual property rights could result in significant costs and harm our business and operating results. </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_13"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE REGARDING FORWARD-LOOKING STATEMENTS</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">In addition to historical information, this Annual Report on Form 10-K contains &#8220;forward-looking&#8221; statements within the meaning of Section 21E of the Securities Exchange Act of 1934, as amended, or the Exchange Act. Forward-looking statements generally relate to future events or our future financial or operating performance. In some cases, it is possible to identify forward-looking statements because they contain words such as &#8220;anticipates,&#8221; &#8220;believes,&#8221; &#8220;contemplates,&#8221; &#8220;continue,&#8221; &#8220;could,&#8221; &#8220;estimates,&#8221; &#8220;expects,&#8221; &#8220;future,&#8221; &#8220;intends,&#8221; &#8220;likely,&#8221; &#8220;may,&#8221; &#8220;plans,&#8221; &#8220;potential,&#8221; &#8220;predicts,&#8221; &#8220;projects,&#8221; &#8220;seek,&#8221; &#8220;should,&#8221; &#8220;target,&#8221; or &#8220;will,&#8221; or the negative of these words or other similar terms or expressions that concern our expectations, strategy, plans or intentions. Forward-looking statements contained in this Annual Report on Form 10-K include, but are not limited to, statements about:</span></div><div style="padding-left:58.5pt;text-align:justify;text-indent:-28.81pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:25.31pt">our financial performance, including our revenues, costs, expenditures, growth rates, operating expenses and ability to generate positive cash flow to fund our operations and sustain profitability;</span></div><div style="padding-left:58.5pt;text-align:justify;text-indent:-28.81pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:25.31pt">anticipated technology trends, such as the use of cloud solutions;</span></div><div style="padding-left:58.5pt;text-align:justify;text-indent:-28.81pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:25.31pt">our ability to adapt to changing market conditions;</span></div><div style="padding-left:58.5pt;text-align:justify;text-indent:-28.81pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:25.31pt">economic and financial conditions, including volatility in foreign exchange rates, inflation concerns, rising interest rates, recessionary fears, financial institution failures and associated uncertainty, supply chain disruption, and global labor shortage;</span></div><div style="padding-left:58.5pt;text-align:justify;text-indent:-28.81pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:25.31pt">our ability to diversify our sources of revenues, including selling additional solutions to our existing customers and our ability to pursue new customers;</span></div><div style="padding-left:58.5pt;text-align:justify;text-indent:-28.81pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:25.31pt">the effects of increased competition in our market;</span></div><div style="padding-left:58.5pt;text-align:justify;text-indent:-28.81pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:25.31pt">our ability to innovate and enhance our cloud solutions and platform and introduce new solutions;</span></div><div style="padding-left:58.5pt;text-align:justify;text-indent:-28.81pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:25.31pt">our ability to effectively manage our growth;</span></div><div style="padding-left:58.5pt;text-align:justify;text-indent:-28.81pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:25.31pt">our anticipated investments in sales and marketing, our infrastructure, new solutions, research and development, and acquisitions;</span></div><div style="padding-left:58.5pt;text-align:justify;text-indent:-28.81pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:25.31pt">maintaining and expanding our relationships with channel partners;</span></div><div style="padding-left:58.5pt;text-align:justify;text-indent:-28.81pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:25.31pt">our ability to maintain, protect and enhance our brand and intellectual property;</span></div><div style="padding-left:58.5pt;text-align:justify;text-indent:-28.81pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:25.31pt">costs associated with defending intellectual property infringement and other claims;</span></div><div style="padding-left:58.5pt;text-align:justify;text-indent:-28.81pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:25.31pt">our ability to attract and retain qualified employees and key personnel, including sales and marketing personnel;</span></div><div style="padding-left:58.5pt;text-align:justify;text-indent:-28.81pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:25.31pt">our ability to successfully enter new markets and manage our international expansion;</span></div><div style="padding-left:58.5pt;text-align:justify;text-indent:-28.81pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:25.31pt">our expectations, assumptions and conclusions related to our income tax provision, our deferred tax assets and our effective tax rate; and</span></div><div style="padding-left:58.5pt;text-align:justify;text-indent:-28.81pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:25.31pt">other factors discussed in this Annual Report on Form 10-K in the sections titled &#8220;Risk Factors&#8221; and &#8220;Management's Discussion and Analysis of Financial Condition and Results of Operations.&#8221; </span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">We have based the forward-looking statements contained in this Annual Report on Form 10-K primarily on our current expectations and projections about future events and trends that we believe may affect our business, financial condition, results of operations and prospects. The results, events and circumstances reflected in these forward-looking statements are subject to risks, uncertainties, assumptions, and other factors including those described in Part I, Item 1A (Risk Factors) of this Annual Report on Form 10-K and those discussed in other documents we file with the U.S. Securities and Exchange Commission (SEC). Moreover, we operate in a very competitive and rapidly changing environment. New risks and uncertainties emerge from time to time, and it is not possible for us to predict all risks and uncertainties that could have an impact on the forward-looking statements used herein. We cannot provide assurance that the results, events, and circumstances reflected in the forward-looking statements will be achieved or occur, and actual results, events or circumstances could differ materially from those described in the forward-looking statements.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">You should not rely on forward-looking statements as predictions of future events. Except as required by law, neither we nor any other person assumes responsibility for the accuracy and completeness of the forward-looking statements, and we undertake no obligation to update any forward-looking statements to reflect events or circumstances after the date of such statements.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Qualys, the Qualys logo and other trademarks and service marks of Qualys appearing in this Annual Report on Form 10-K are the property of Qualys. This Annual Report on Form 10-K also contains trademarks and trade names of other businesses that are the property of their respective holders. We have omitted the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8482;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> designations, as applicable, for the trademarks used in this Annual Report on Form 10-K.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_16"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART I</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_19"></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 1. &#160;&#160;&#160;&#160;Business</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Overview</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are a pioneer and leading provider of a cloud-based platform delivering information technology (IT), security and compliance solutions. Our integrated suite of IT, security and compliance solutions delivered on Qualys' Enterprise TruRisk Platform enables our customers to: 1) identify and manage their internal and external IT and operational technology (OT) assets across on-premises, endpoints, cloud, containers, and mobile environments; 2) collect and analyze large amounts of IT security data; 3) discover and prioritize vulnerabilities; 4) quantify cyber risk exposure; 5) recommend and implement remediation actions; and 6) verify the implementation of such actions. This helps organizations protect their systems and applications from ever-evolving cyber-attacks and helps achieve compliance with internal policies and external regulations.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our cloud platform addresses the growing IT, security and compliance complexities and risks that are amplified by the dissolving boundaries between IT infrastructures and web environments, the rapid adoption of cloud computing, containers and serverless IT models, and the proliferation of geographically dispersed IT assets. Organizations use our integrated suite of solutions to cost-effectively obtain a unified view of their internal and external IT and OT asset inventory as well as security and compliance posture across globally-distributed IT infrastructures as our solution offers a single platform for information technology, information security, application security, endpoint, developer security and cloud teams.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">IT infrastructures are more complex and globally-distributed today than ever before, as organizations of all sizes increasingly rely upon a myriad of interconnected information systems and related assets, such as servers, databases, web applications, routers, switches, desktops, laptops, other physical and virtual infrastructure, and numerous external networks and cloud services. In this environment, new and evolving digital technologies intended to improve organizations&#8217; operations can also increase vulnerability to cyber-attacks, which can expose sensitive data, damage IT and physical infrastructures, and result in serious financial or reputational consequences. In addition, the rapidly increasing amount of data and devices in IT environments makes it more difficult to identify and remediate vulnerabilities in a timely manner. The predominant approach to IT security has been to implement multiple disparate security products that can be costly and difficult to deploy, integrate and manage and may not adequately protect organizations. As a result, we believe there is a large and growing opportunity for comprehensive cloud-based IT, security and compliance solutions that detect, measure, prioritize and remediate cyber risk delivered in a single platform.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We designed our cloud platform to transform the way organizations secure and protect their IT infrastructures and applications. Our cloud platform offers an integrated suite of solutions that automates the lifecycle of asset discovery and management, security and compliance assessments, and remediation for an organization&#8217;s IT infrastructure and assets, whether such infrastructure and assets reside inside the organization, on their network perimeter, on endpoints or in the cloud. Since inception, our solutions have been designed to be delivered through the cloud and to be easily and rapidly deployed on a global scale, enabling faster implementation and lower total cost of ownership than traditional on-premise enterprise software products. Our customers, ranging from some of the largest global organizations to small businesses, are served from our globally-distributed cloud platform, enabling us to rapidly deliver new solutions, enhancements and security updates.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe that our cloud platform provides our customers with unique advantages, including:</span></div><div style="padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">No hardware to buy or manage. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There is no infrastructure or software to buy and maintain thus reducing our customers&#8217; operating costs; all services are accessible in the cloud via web interface. Qualys operates and maintains the platform.</span></div><div style="padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Real-time visibility in one place, anytime and anywhere</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Our customers can conveniently see their security and compliance posture across their global IT and OT asset inventory in one browser window, without plugins or a virtual private network (VPN), whenever and wherever Internet access is available.</span></div><div style="padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Easy global scanning.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Our customers can easily perform scans on geographically distributed and segmented networks at the perimeter, behind the firewall, on dynamic cloud environments and on endpoints.</span></div><div style="padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Seamless scaling. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our cloud platform is a scalable, comprehensive, and end-to-end solution for the IT, security and compliance needs of our customers. Our customers can seamlessly add new coverage, users and services after they have deployed our platform.</span></div><div style="padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Up to date resources</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Qualys has one of the largest knowledge bases of vulnerability signatures in the industry. All security updates are made in real-time.</span></div><div style="padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Data stored securely</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Data is securely stored and processed in a multi-tiered architecture of load-balanced servers. Our encrypted databases are physically and logically secured.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We were founded and incorporated in December 1999 with a vision of transforming the way organizations secure and protect their IT infrastructure and applications and initially launched our first cloud solution, Vulnerability Management (VM), in 2000. As VM gained acceptance, we introduced additional solutions to help customers manage increasing IT, security and compliance requirements. Today, the suite of solutions that we offer on our cloud platform and refer to as the Qualys Cloud Apps help our customers detect, measure, prioritize and remediate cyber risk spanning a range of assets across on-premises, endpoints, cloud, containers, and mobile environments.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We provide our solutions through a software-as-a-service model, primarily with renewable annual subscriptions. These subscriptions require customers to pay a fee in order to access each of our cloud solutions. We generally invoice our customers for the entire subscription amount at the start of the subscription term, and the invoiced amounts are treated as deferred revenues and are recognized ratably over the term of each subscription. We continue to experience revenue growth from our existing customers as they renew and purchase additional subscriptions, as well as from the addition of new customers to our cloud platform.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our cloud platform is currently used by over 10,000 customers worldwide, including a majority of the Forbes Global 100. Our revenues increased to $554.5 million in 2023 from $489.7 million in 2022 and $411.2 million in 2021.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Our Platform</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our cloud platform consists of a suite of IT security, compliance, web application security, asset management and cloud security solutions, which we refer to as the Qualys Cloud Apps, that leverage our shared and extensible core services and our highly scalable multi-tenant cloud infrastructure. We also provide open application program interfaces, or APIs, and other developer tools that allow third parties to embed our technology into their solutions and build applications on our platform.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our cloud platform utilizes physical and virtual sensors, and cloud agents that provide our customers with continuous visibility enabling customers to respond to threats immediately. Customers can extend visibility to all known IT infrastructure using our Out-of-Band Configuration Assessment sensor for systems that are air-gapped or otherwise difficult to assess.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our cloud platform automatically gathers and analyzes security and compliance data in a scalable, state-of-the-art backend. The technology underlying our cloud infrastructure enables us to ingest, process, analyze and store a high volume of sensor data coming from our agents, scanners and passive analyzers, and correlate information at very high speeds in a distributed manner for millions of devices.</span></div><div style="margin-top:12pt;text-align:center"><span><br/></span></div><div style="margin-top:12pt;text-align:center"><img src="qlys-20231231_g1.jpg" alt="Qualys Enterprise TruRisk Platform.jpg" style="height:352px;margin-bottom:5pt;vertical-align:text-bottom;width:700px"/></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our cloud platform is delivered to our customers via our 14 global shared cloud platforms, or via our private platform offering, Qualys Private Cloud Platform (PCP), for customers or partners that want the platform to reside within the customer's shared cloud platform. The PCP is a standalone version of our multi-layer, multi-tenant services architecture and is a fully integrated turnkey solution, making it more scalable, cost effective and faster to deploy within a customer's shared cloud platform. Solutions delivered through our PCP are typically on the same subscription basis as solutions delivered through our shared platform. Our PCP utilizes hardware and software owned by us and is physically located on the customer's premises. The customer is not permitted to take possession of the software or access the software code. We also offer our PCP as a subscription-based platform services to the customer using a virtual version of our software. This virtualized PCP allows us to extend our security and compliance solutions without the complexity and cost associated with deploying traditional enterprise software.</span></div><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Qualys Core Services</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our core services enable our customers to detect vulnerabilities, measure and remediate cyber risk through integrated workflows, management and real-time analysis and reporting inside their organizations, on the perimeter, on endpoints or in the cloud.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our core services constitute dynamic and customizable dashboards and centrally managed, self-updating integrated Cloud Apps, through a natively integrated unified platform. Our interactive, dynamic dashboards and cloud platform allow our customers to aggregate and correlate all of their IT, security and compliance data in one place, drill down into details, and generate reports customized for different audiences. Our cloud platform&#8217;s powerful Elasticsearch clusters enable customers to instantly find detailed data on any asset.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our core services include:</span></div><div style="padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Asset Tagging and Management. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Enables customers to easily identify, categorize and manage large numbers of assets in highly dynamic IT and OT environments and automates the process of inventory management and hierarchical organization of all internal and external assets. Built on top of this core service is the Qualys GAV framework, which is a global asset inventory service enabling our customers to search for information on any asset, scaling to millions of assets for customers of all sizes, helping IT and security personnel to search assets and maintain an up-to-date inventory on a continuous basis.</span></div><div style="padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Reporting and Dashboards. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A highly configurable reporting engine that provides customers with reports and dashboards based on their roles and access privileges.</span></div><div style="padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Questionnaires and Collaboration. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A configurable workflow engine that enables customers to easily build questionnaires and capture existing business processes and workflows to evaluate controls and gather evidence to validate and document compliance.</span></div><div style="padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Remediation and Workflow. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">An integrated workflow engine that allows customers to automatically generate helpdesk tickets for remediation to manage compliance exceptions based on customer-defined policies, enabling subsequent review, commentary, tracking and escalation. This engine automatically distributes remediation tasks to IT administrators upon scan completion, tracks remediation progress and closes open tickets once patches are applied and remediation is verified in subsequent scans.</span></div><div style="padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Big Data Correlation and Analytics Engine. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Provides Elasticsearch capabilities for indexing, searching and correlating large amounts of security and compliance data with other security incidents and third-party security intelligence data. Embedded workflows enable customers to quickly assess risk and access information for remediation, incident analysis and forensic investigations.</span></div><div style="padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Alerts and Notifications. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Creates email notifications to alert customers of new vulnerabilities, malware infections, scan completion, open trouble tickets and system updates.</span></div><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Qualys Cloud Apps</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Many organizations have an array of heterogeneous point tools that do not interoperate well and are difficult and costly to maintain and integrate, making it difficult for Chief Information Officers (CIOs) and Chief Information Security Officers (CISOs) to obtain a single, unified view of their organization&#8217;s security and compliance posture. Qualys&#8217; Enterprise TruRisk Platform and its Cloud Apps help organizations escape this tool-fragmentation dilemma by drastically simplifying their security stacks and regaining unimpeded visibility across their on-premises, endpoints, cloud, container, and mobile environments.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Cloud Apps are self-updating, centrally managed and tightly integrated, and cover a broad range of functionality in areas such as asset management, vulnerability management, risk mitigation, threat detection and response, compliance and cloud security solutions.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe that our applications are easy to use and provide our customers with a high level of control because our applications are part of one platform, share a common user interface, utilize the same scanners and agents, access the same collected data, and leverage the same user permissions.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our customers can subscribe to one or more of our 20+ Cloud Apps based on their initial needs and expand their subscriptions over time to new areas within their organization or to additional Qualys solutions to develop a more complete understanding of their respective environment's IT, security and compliance posture and remediate cybersecurity risk. Many of our customers use multiple Cloud Apps, some of which are noted below:</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Asset Management</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cybersecurity Asset Management (CSAM): CSAM is an all-in-one solution that leverages the power of our cloud platform with its multiple native sensors and CMDB synchronization to continuously inventory known and unknown assets, discover installed applications, and overlay business and risk context to establish asset criticality. It identifies unauthorized or end-of-life and end-of-service software and the absence of required security tools, and assesses the health of the attack surface. Further, CSAM enables response options with threat alerts and software removal and delivers regulatory reporting in support of the Federal Risk and Authorization Management Program ("FedRAMP"), PCI-DSS and other mandates. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CSAM includes External Attack Surface Management (EASM), which allows discovery of internet facing unknown assets. </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Vulnerability Management</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vulnerability Management, Detection and Response (VMDR): VMDR enables organizations to automatically discover every asset in their environment, including unmanaged assets appearing on the network, inventory all hardware and software, and classify and tag critical assets. VMDR continuously assesses these assets for the latest vulnerabilities and applies the latest threat intel analysis to prioritize actively exploitable vulnerabilities. VMDR automatically detects the latest superseding patch for the vulnerable asset and easily deploys it for remediation. Finally, VMDR quantifies risk across vulnerabilities, assets and groups of assets helping organizations proactively reduce cyber risk exposure and track cyber risk reduction over time. By delivering all this in a single app workflow, VMDR automates the entire process and significantly accelerates an organization&#8217;s ability to respond to threats, thus preventing possible exploitation across on-premises, endpoints, cloud, containers, and mobile environments.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Web Application Scanning (WAS): WAS continuously discovers and catalogs web applications &#8211; including new and unknown ones &#8211; and detects vulnerabilities and misconfigurations in web apps and APIs. Scaling to thousands of scans, it conducts incisive, thorough and precise testing of browser-based web apps, mobile app backends, and Internet of things (IoT) services. WAS' powerful API enables integration with other systems and allows teams to detect issues within DevOps environments early in the application development process. Bundled malware detection capability with WAS uses reputational, behavioral, antivirus, and heuristic analyses to identify and alert on malware infecting a user's websites. By Integrating WAS with manual testing tools and bug bounty solutions, customers can build a comprehensive web application vulnerability testing program.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Risk Mitigation</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Patch Management (PM): PM provides automated patch deployment capabilities for Windows, Linux, Mac and third party software by correlating vulnerabilities and the right set of remediation including patches and configuration fixes. It continuously gathers and uploads telemetry about installed software, open vulnerabilities and missing patches to our cloud platform. The resulting shared visibility of assets and their posture enables IT and security teams to collaborate using common vulnerability-centric terminology and provides a consistent data set to analyze, prioritize, deploy and verify patches more efficiently. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Custom Assessment and Remediation (CAR): CAR enables security architects to create custom scripts in popular scripting languages, user-defined controls and automation, all seamlessly integrated within existing programs to quickly assess, respond to and remediate threats across global hybrid environments. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Threat Detection and Response</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Multi-Vector Endpoint Detection and Response (EDR): Traditional endpoint detection and response solutions focus only on endpoint activity to detect attacks. As a result, they lack the full context to analyze attacks accurately. This leads to an incomplete picture and a high rate of false positives and negatives, requiring organizations to use multiple point solutions and large incident response teams. Our highly scalable platform fills the gaps by bringing a new multi-vector approach and the unifying power to EDR, providing vital context and comprehensive visibility to the entire attack chain, from prevention to detection to response. EDR unifies different context vectors like asset discovery, rich normalized software inventory, end-of-life visibility, vulnerabilities </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and exploits, misconfigurations, in-depth endpoint telemetry, and network reachability with a powerful backend to correlate it all for accurate assessment, detection and response.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Context Extended Detection and Response (XDR): XDR provides context and clarity to enterprise security operations through risk-focused, single pane of glass visibility and control to improve enterprise-wide threat detection and incident response. It leverages our cloud platform's response capabilities - patching, fixing misconfigurations, killing processes and network connections, and quarantining hosts - to comprehensively remediate cyber security threats identified by Qualys&#8217; XDR.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Compliance</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Policy Compliance (PC): PC performs automated security configuration assessments on IT systems throughout a network, helping to reduce risk and continuously ensure compliance with internal policies and external regulations. PC leverages out-of-the-box library content to fast-track compliance assessments using industry-recommended best practices. PC also provides a centralized, interactive console for specifying baseline standards for different hosts. By automating requirement evaluation against multiple standards for operating systems, network devices, databases and server applications, PC enables the quick identification of security issues and works to prevent configuration drift. PC works to prioritize and track remediation and exceptions, while demonstrating a repeatable auditable process for compliance management</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27.35pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">File Integrity Monitoring (FIM): FIM logs and centrally tracks file change events on common enterprise operating systems in organizations of all sizes. FIM provides customers with a simple way to achieve centralized cloud-based visibility of activity resulting from normal patching and administrative tasks, change control exceptions or violations, or malicious activity - then reports on that system activity as part of compliance mandates. FIM collects the critical details needed to quickly identify changes and root out activity that violates policy or is potentially malicious. FIM helps customers to comply with change control policy enforcement and change monitoring requirements.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Cloud Security</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Qualys TotalCloud is a Cloud-Native Application Protection Platform (CNAPP), which provides an integrated suite of security capabilities designed for multi-cloud environments. It provides complete visibility and cyber-risk exposure assessment across cloud assets, enabling continuous discovery and monitoring of the cloud landscape to identify risks and maintain compliance. With its FlexScan technology, TotalCloud offers comprehensive assessment features that include no-touch, agentless, API, and snapshot-based scanning, along with agent and network-based scanning for thorough vulnerability detection. The TruRisk component allows for a unified risk view, correlating vulnerabilities, security controls, and compliance across resources to prioritize and reduce cyber risks effectively. For real-time defense, TotalCloud's InstaProtect continuously monitors all cloud assets to detect and protect against evolving and unknown threats. Remediation is streamlined through our QFlow technology, which provides no-code, drag-and-drop workflows for efficient vulnerability management. TotalCloud provides organizations with an all-encompassing solution, delivering fast, agentless, real-time security and compliance across a variety of use cases, including Cloud Workload Protection (CWP), Cloud Detection and Response (CDR), Cloud Security Posture Management (CSPM), Infrastructure as Code (IaC), and Container Security (CS) to offer organizations a single unified solution for comprehensively securing their cloud and multi-cloud environments.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Free Services</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also offer organizations of all sizes free security and compliance services based on our cloud platform:</span></div><div style="padding-left:49.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Qualys Global AssetView app automatically creates a continuous, real-time inventory of known and unknown assets throughout a user's global IT footprint across on-premises, endpoints, cloud, containers, and mobile environments. The app also automatically normalizes and categorizes assets to ensure clean, reliable, and consistent data. In-depth asset details provide fine-grained visibility on the system, services, installed software, network, and users. It also detects any device that connects to a user's networks, via passive scanning technology. Upon an unknown device detection, users can install a light-weight Qualys self-updating agent (3MB) to turn the device into a managed device or launch a vulnerability scan.</span></div><div style="margin-top:3pt;padding-left:49.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Qualys Certificate Inventory inventories and assesses all Internet-facing certificates to generate SSL/TLS configuration grades, identifies the certificate issuer and tracks certificate expirations to help stop expired and expiring certificates from interrupting critical business functions.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Our Growth Strategy</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We intend to strengthen our leadership position as a trusted provider of cloud-based IT, security and compliance solutions. The key elements of our growth strategy are:</span></div><div style="padding-left:49.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Continue to innovate and enhance our cloud platform and suite of solutions. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We intend to continue to make significant investments in research and development to extend our cloud platform&#8217;s functionality by developing new security solutions and capabilities and further enhancing our existing suite of solutions.</span></div><div style="margin-top:3pt;padding-left:49.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Expand the use of our suite of solutions by our large and diverse customer base. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">With more than 10,000 customers, across many industries and geographies, we believe we have a significant opportunity to sell additional solutions to our customers and expand their use of our suite of solutions. Because our customers typically initially deploy one or two of our solutions in select parts of their IT infrastructures, our existing customers serve as a strong source of new sales as they expand their scope and increase their subscriptions or choose to adopt additional solutions from our integrated suite of IT, security and compliance offerings. In this regard, we continue to expand our sales execution and marketing functions to increase adoption of our newly developed solutions among our existing customers.</span></div><div style="margin-top:3pt;padding-left:49.5pt;text-align:justify;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Drive new customer growth and broaden our global reach. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are pursuing new customers by targeting key accounts, releasing free IT, security and compliance services and expanding both our sales and marketing organization and network of channel partners. We will continue to seek to make significant investments to encourage organizations to replace their existing security products with our cloud solutions. We intend to expand our relationships with key security consulting organizations, leading cloud service providers, managed security service providers and value-added resellers to accelerate the adoption of our cloud platform. We seek to strengthen existing relationships as well as establish new relationships to increase the distribution and market awareness of our cloud platform and target new geographic regions. We also plan to partner with such security providers that can host our private cloud offering within their shared cloud platforms, helping us expand our reach in new markets and new geographies.</span></div><div style="margin-top:3pt;padding-left:49.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Selectively pursue technology acquisitions to bolster our capabilities and leadership position. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We may explore acquisitions that are complementary to and can expand the functionality of our cloud platform. We may also seek to acquire development teams to supplement our own personnel and acquire technology to increase the breadth of our cloud-based IT, security and compliance solutions. In 2022, we acquired certain intangible assets of Blue Hexagon Inc., enabling us to leverage our cloud platform with deep learning AI and machine learning (ML) technologies to uncover behavior patterns including active vulnerability exploitation, identification of advanced network threats, and adaptive risk mitigation across all assets and applications. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2021, we acquired certain intangible assets of Kandor Soft Labs Private Ltd. (TotalCloud), strengthening our cloud security solution by allowing customers to build user-defined workflows for custom policies and execute them on-demand for simplified security and compliance.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Our Customers</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We market and sell our solutions to enterprises, government entities and small and medium-sized businesses across a broad range of industries, including education, financial services, government, healthcare, insurance, manufacturing, media, retail, technology and utilities. As of December&#160;31, 2023, we had over 10,000 customers worldwide, including a majority of the Forbes Global 100. In each of 2023, 2022 and 2021, no one customer accounted for more than 10% of our revenues. In 2023, 2022 and 2021, 60%, 60% and 61%, respectively, of our revenues were derived from customers in the United States based on our customers' billing addresses. We sell our solutions to enterprises and government entities primarily through our field sales force and to small and medium-sized businesses through our inside sales force. We generate a significant portion of sales through our channel partners, including managed security service providers, value-added resellers and consulting firms in the United States and internationally.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Sales and Marketing</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Sales</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We market and sell our IT, security and compliance solutions to customers directly through our sales teams as well as indirectly through our network of channel partners.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our global sales force is organized into a field sales team, which focuses on enterprises, generally including organizations with</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> more than 5,000 employees, and an inside sales team, which focuses on small to medium-sized businesses, which generally include organizations with less than 5,000 employees. Both our field and inside sales teams are divided into three geographic regions, the Americas; Europe, Middle East and Africa; and Asia-Pacific. We also further assign each of our sales teams into groups that focus on adding new customers or managing relationships with existing customers.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our channel partners maintain relationships with their customers throughout the territories in which they operate and provide their customers with services and third-party solutions to help meet those customers&#8217; evolving security and compliance requirements. As such, these partners offer our IT, security and compliance solutions in conjunction with one or more of their own products or services and act as a conduit through which we can connect with these prospective customers to offer our solutions. Our channel partners include security consulting organizations, leading cloud providers, managed service providers and resellers.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For sales involving a channel partner, the channel partner engages with the prospective customer directly and involves our sales team as needed to assist in developing and closing an order. When a channel partner secures a sale, we sell the associated subscription to the channel partner who in turn resells the subscription to the customer, with the channel partner earning a fee based on the total value of the order. Once the order is completed, we provide these customers with direct access to our solutions and other associated back-office applications, enabling us to establish a direct relationship as part of ensuring customer satisfaction with our solutions. At the end of the subscription term, the channel partner engages with the customer to execute a renewal order, with our sales team providing assistance as required. In 2023, 2022 and 2021, 43%, 42% and 41%, respectively, of our revenues were generated by channel partners.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Marketing</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our marketing programs include a variety of online marketing, advertising, conferences, events, public relations activities and web-based seminar campaigns targeted at key decision makers within our prospective customers.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have a number of marketing initiatives to build awareness and encourage customer adoption of our solutions. We offer free trials and services to allow prospective customers to experience the quality of our solutions, to learn in detail about the features and functionality of our cloud platform, and to quantify the potential benefits of our solutions.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Customer Support</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Qualys Support delivers 24x7x365 day customer technical support from global centers located in Foster City, California; Raleigh, North Carolina; and Pune, India. We recruit senior level technical personnel and trained subject matter experts who work closely with engineering and operations personnel to resolve issues quickly. Our IT, security and compliance solutions can be deployed easily and are designed to be implemented and operated without the need for significant professional services. We also offer various training programs as part of our subscriptions to all of our customers. In addition, we leverage the insights drawn from our customers to further improve the functionality of our IT, security and compliance solutions. Our mission is to ensure customer satisfaction and play a critical role in retaining and expanding our customer base.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Research and Development and Operations</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We devote significant resources to maintain, enhance and add new functionality to our cloud platform and the integrated suite of solutions that we offer. Our development organization consists of agile engineering teams with substantial security expertise in specific areas of our solutions. In addition to our development teams, we also built a sophisticated research team focused on identifying threats and developing signatures for vulnerabilities and compliance checks so that we can provide our customers with daily updates and enable them to scan their assets for the latest threats. We conduct our research and development in the United States, France and India, which gives us access to some of the best research and engineering talent in the world. Our focus remains to attract engineering talent as we continue to add new solutions and improve existing ones.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our development team works closely with our customers and partners to gain valuable insights into their environments and gather feedback for threat research, product development and innovations. We typically release updates to our solutions, including enhancements and new features multiple times a year, and we measure the quality of our scan results on a frequent basis in an effort to maintain the highest level of scan accuracy.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The modular architecture of our cloud platform enables our engineering teams to simultaneously work on different features, accelerating the delivery of new functionalities to customers. Our research and development team also works collaboratively with our technical support team to ensure customer satisfaction and with our sales team to accelerate the adoption of our solutions.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Shared Cloud Platform Agreements </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our shared cloud platform operations are provided by large third-party vendors and are located in the United States, Canada, Switzerland, the Netherlands, United Arab Emirates, Australia, United Kingdom, Italy, the Kingdom of Saudi Arabia and India. Our shared cloud platform agreements have varying terms through 2027.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Competition</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expanding capabilities of our IT, security and compliance solutions have enabled us to address a growing array of opportunities in the cloud IT, security and compliance market. We compete with a large and broad array of established and emerging vulnerability management vendors, compliance vendors and data security vendors in a highly fragmented and competitive environment.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We compete with large and small public companies, such as Broadcom (Symantec Enterprise Security), CrowdStrike, Palo Alto Networks, Rapid7, and Tenable Holdings, as well as privately held security providers including Axonius, Checkmarx, Flexera, Invicti, Ivanti, Tanium, HelpSystems (Tripwire), Trustwave Holdings, Veracode and Wiz. We also seek to replace IT, security and compliance solutions that organizations have developed internally. As we continue to extend our cloud platform&#8217;s functionality by further developing IT, security and compliance solutions, such as Cybersecurity Asset Management and Patch Management, we expect to face additional competition in these new markets. Our competitors may also attempt to further expand their presence in the IT, security and compliance market and compete more directly against one or more of our solutions.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe that the principal competitive factors affecting our markets include product functionality, breadth of offerings, flexibility of delivery models, ease of deployment and use, total cost of ownership, scalability and performance, customer support and the extensibility of our platform. We believe that our suite of solutions generally competes favorably with respect to these factors. However, many of our primary competitors have greater name recognition, longer operating histories, more established customer relationships, larger marketing budgets and significantly greater resources than we do.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Intellectual Property</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We rely on a combination of trade secrets, copyrights, patents and trademarks, as well as contractual protections, to establish and protect our intellectual property rights and protect our proprietary technology. As of December&#160;31, 2023, we have </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">thirty-six</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> issued patents, which expire from 2029 to 2042, several pending U.S. patent applications and an exclusive license to </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">four</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> U.S. patents. The inbound license remains in effect until the licensed patents are no longer enforceable, unless the applicable license agreement is first terminated by us or terminated by the licensor for a breach of the agreement or if we undergo certain bankruptcy events. The licenses are currently exclusive and will remain exclusive so long as we make an appropriately-timed written election and pay an annual fixed royalty for ten years thereafter. These exclusive licenses are subject to the licensor&#8217;s reservation of certain r</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ights in the patents and subject to the U.S. government&#8217;s reserved rights in the technology. We have a number of registered and unregistered trademarks. We require our employees, consultants and other third parties to enter into confidentiality and proprietary rights agreements and control access to software, documentation and other proprietary information. We view our trade secrets and know-how as a significant component of our intellectual property assets, as we have spent years designing and developing our cloud platform, which we believe differentiates us from our competitors.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We expect that software and other solutions in our industry may be subject to third-party infringement claims as the number of competitors grows and the functionality of products in different industry segments overlaps. Any of these third parties might make a claim of infringement against us at any time.</span></div><div style="margin-top:12pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Human Capital Resources</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We take a holistic approach to our human capital management strategy, striving to create a culture where talented people want to come to work, develop their careers, become leaders, and make a difference for all our stakeholders and communities. Doing the right thing for our people, our communities and our environment upholds the trust of our customers, partners, employees, and stockholders, enabling us to grow our business profitably and meet the diverse needs of our constituents. As of December&#160;31, 2023, we had 2,188 full-time employees, including 1,016 in research and development, 438 in sales and marketing, 504 in operations and customer support, and 230 in general and administrative. As of December&#160;31, 2023, approximately 75% of our employees were located outside of the United States, with 66% of our employees located in Pune, India. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None of our U.S. employees are covered by collective bargaining agreements. Employees in certain European countries and Brazil have collective bargaining arrangements at the national level. We believe our employee relations are good, and we have not experienced any work stoppages.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Compensation and Benefits</span></div><div style="margin-top:12pt;text-align:justify;text-indent:21.6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Our Competitive Compensation and Benefits Policy.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> We understand that providing competitive compensation and benefits plays a critical role in attracting and retaining the best available personnel. That is why we offer robust compensation and benefits to our employees, including competitive base salaries, variable pay and equity awards, and generous benefits packages. To support the health and wellness of our workforce, Qualys offers premium health coverage with minimal out-of-pocket contributions for our employees. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:21.6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Corporate Governance.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Qualys maintains a Compensation and Talent Committee of the Board of Directors to oversee the company&#8217;s compensation policies, plans and benefits programs, and overall compensation philosophy. The Committee approves CEO and executive officers&#8217; compensation plans, and reviews, approves, and administers various employee benefit plans, among other duties. As part of its ongoing review of the performance criteria and compensation of designated key executives, the Compensation and Talent Committee also meets annually with the CEO, the Company&#8217;s principal human resources executive, and any other corporate officers as it deems appropriate. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:24.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Supporting our Team and Community</span></div><div style="margin-top:12pt;text-align:justify;text-indent:21.6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Talent Development and Safety. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We take a holistic approach to our social strategy, striving to create a culture where talented people want to come to work, develop their careers, become leaders, and make a difference for all our stakeholders and communities. We believe every employee makes a difference, so we empower them in their roles and support them for professional growth. We assist employees in achieving their career goals by helping them improve their skillsets and transition to increasingly challenging roles. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:21.6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Diversity and Inclusion. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are proud to be a leader in the promotion and practice of diversity and inclusion. We take pride in our cultural diversity with offices and employees all over the world. Our objective is to continue to improve our hiring, development, advancement, and retention of diverse talent and to foster an inclusive environment. In addition to having more than 50% of the executive team from underrepresented communities, we are also continuing to improve diversity among our growing workforce, with steady increases in recent years in the percentage of women employed among our global workforce and with over half of our US-based employees from underrepresented communities.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:21.6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Qualys is focused on building a pipeline of diverse candidates across all our job functions. We define diversity as underrepresented job seekers, like women, minorities, people with disabilities, older workers, and LGBTQIA+ community members. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:21.6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Qualys searches the globe for top talent in an effort to recruit and hire diverse individuals with a variety of skills, experiences, and backgrounds. Our company holiday calendar includes events and festivals from many regions and religions, and we include diverse cultural initiatives throughout the year to ensure employees feel represented.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:21.6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Promoting a Healthy Work-life Balance.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Qualys aims to maintain a healthy work-life balance and provide resources to support our employees&#8217; mental and physical well-being. During 2022, our workforce gradually transitioned into a hybrid work schedule, which resulted in a significant portion of our workforce working either in-person on a part-time basis, or remotely on a permanent basis. During 2023, we continued to offer this hybrid work schedule to our workforce. Our top priority remains providing support for our employees, partners, and customers. We are fortunate that the nature of our business allows us to successfully operate in this dynamic hybrid environment. We believe that our hybrid policy will be a key enabler to support the broad needs of critical on-site to remote employees. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:21.6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Community Engagement</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. We value the communities that support our operations and have several company and employee-led initiatives to support the communities in which we operate. In 2023, our efforts were centered on advancing education, gender equality, and environmental initiatives. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Training and Development</span></div><div style="margin-top:12pt;text-align:justify;text-indent:21.6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Employee Training. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We require our employees and managers to participate in myriad training programs directed at maintaining a harassment-free, diverse, and secure workplace. With our diverse employee population, we uphold the rights to work in an environment that promotes equal opportunity and prohibits discriminatory practices against race, color, national origin, ancestry, medical condition, religious creed (including religious dress and grooming practices), marital status, registered domestic partner status, sex, sexual orientation, gender identity and expression, genetic characteristics and information, age, veteran status, </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">or any other protected characteristic. Creating a respectful workplace and preventing harassment to our employees remain our on-going commitment. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:21.6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Employee Development.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Investing in employees is critical to our success. Qualys employees participate in an onboarding program to integrate new hires into role-specific functions and company culture. Qualys offers managers and employees various training courses as needed. To support career growth inside and outside Qualys, we offer free self-paced and instructor-led certified training on core Qualys topics, giving employees and non-employees an opportunity to achieve certifications and job-related courses free of charge. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:21.6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To allow for open dialogue between employees and managers, we conduct formal employee reviews each year. Corrective action plans are developed for employees who may be struggling to meet his or her job responsibilities. Employee performance is considered during compensation reviews. In addition to formal reviews, our Human Resources team regularly meets with managers to check in with teams and conducts exit interviews globally. Qualys India also conducts an assimilation program for new employees, through which feedback is collected as employees join the company.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Sustainable Business Operations</span></div><div style="margin-top:12pt;text-align:justify;text-indent:21.6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Our Sustainable Solutions.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Qualys products, delivered via our multi-tenant cloud platform, enable improved environmental sustainability for our customers. In particular, our cloud-based solutions minimize the number of physical servers our customers have to deploy within their own environments, reducing energy consumption on their end. Qualys Cloud Apps, delivering rich content and dashboards visible on any device, also reduce paper and printing costs for our customers.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:21.6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Our Eco-Friendly Operations.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Our environmental, health and safety systems, processes and tools in place across our footprint enable Qualys to meet or exceed governmental and industry requirements. We strive to consistently improve how we operate our platforms in energy-efficient networks and data centers as well as pursue sustainability initiatives that reduce energy, waste and materials consumption. We have 14 multi-tenant platforms across the world, eight of which are in collocated facilities. The others are hosted in public cloud environments. Though data centers are inherently energy-intensive, utilizing collocated facilities allows us to leverage economies of scale for power and cooling. In addition, most of our third-party providers continue to advance their own sustainability programs to reduce their environmental impact.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:21.6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Environmental Standards Within Supply Chain</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. We are committed to advancing supply chain responsibility and strive to enhance transparency and promote greater accountability in our own operations and with our suppliers. Qualys outsources product manufacturing and recycling to suppliers and vendors that follow the highest environmental standards in the industry, such as ISO 14001. We also seek to prohibit our suppliers from profiting from the sale of tantalum, tin, tungsten, and gold (also known as &#8220;conflict minerals&#8221;) that funds conflict in the Democratic Republic of the Congo (DRC) and adjoining countries, and we seek to require that our suppliers source these minerals from socially responsible suppliers. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Available Information</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our principal executive offices are located at 919 E. Hillsdale Blvd., 4th Floor, Foster City, California 94404. The telephone number of our principal executive offices is (650) 801-6100, and our main corporate website is </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">www.qualys.com</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Information contained on, or that can be accessed through, our website, does not constitute part of this Annual Report on Form 10-K and inclusion of our website address in this Annual Report on Form 10-K is an inactive textual reference only.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We make available our Annual Reports on Form 10-K, Quarterly Reports on Form 10-Q, Current Reports on Form 8-K and amendments to those reports filed or furnished pursuant to Section 13(a) or Section 15(d) of the Securities Exchange Act of 1934, as amended, free of charge on our website, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">www.qualys.com</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> as soon as reasonably practicable after they are electronically filed with or furnished to the SEC. Additionally, copies of materials filed by us with the SEC may be accessed at the SEC's website, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">www.sec.gov</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_22"></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 1A. &#160;&#160;&#160;&#160;Risk Factors</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">An investment in our common stock involves a high degree of risk. You should carefully consider the risks and uncertainties described below, and all other information contained in this Annual Report on Form 10-K, including our consolidated financial statements and the related notes, before making a decision to invest in our common stock. Our business, operating results, financial condition, or prospects could be materially and adversely affected by any of these risks and uncertainties. In that case, the trading price of our common stock could decline, and you might lose all or part of your investment. In addition, the risks and </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">uncertainties discussed below are not the only ones we face. Our business, operating results, financial performance or prospects could also be harmed by risks and uncertainties not currently known to us or that we currently do not believe are material.</span></div><div style="margin-top:12pt;padding-right:7.2pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Related to Our Business and Industry</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our quarterly and annual operating results may vary from period to period, which could result in our failure to meet expectations with respect to operating results and cause the trading price of our stock to decline.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our operating results have historically varied from period to period, and we expect that they will continue to do so as a result of a number of factors, many of which are outside of our control, including:</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the level of demand for our solutions, from both existing and new customers;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the extent to which customers subscribe for additional solutions;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">changes in customer renewals of our solutions;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">timing of deals signed within the applicable fiscal period;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">seasonal buying patterns of our customers;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">timely invoicing or changes in billing terms of customers;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the length of our sales cycle for our products and services;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">price competition;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the timing and success of new product or service introductions by us or our competitors or any other changes in the competitive landscape of our industry, including consolidation among our competitors;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the introduction or adoption of new technologies that compete with our solutions;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">decisions by potential customers to purchase IT, security and compliance products or services from other vendors;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">general economic conditions, both domestically and in the foreign markets in which we sell our solutions;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">changes in foreign currency exchange rates;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">changes in the growth rate of the IT, security and compliance market;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">actual or perceived security breaches and incidents, technical difficulties or interruptions with our service;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">failure of our products and services to operate as designed;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">publicity regarding security breaches and incidents generally and the level of perceived threats to IT security;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the announcement or adoption of new regulations and policy mandates or changes to existing regulations and policy mandates;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the amount and timing of operating costs and capital expenditures related to the operations and expansion of our business;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">pace and cost of hiring employees;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">expenses associated with our existing and new products and services;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the timing of sales commissions relative to the recognition of revenues;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">insolvency or credit difficulties confronting our customers, affecting their ability to purchase or pay for our solutions;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to integrate any products or services that we have acquired or may acquire in the future into our product suite or migrate existing customers of any companies that we have acquired or may acquire in the future to our products and services;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">future accounting pronouncements or changes in our accounting policies;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our effective tax rate, changes in tax rules, tax effects of infrequent or unusual transactions, and tax audit settlements;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the amount and timing of income tax that we recognize resulting from stock-based compensation;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the timing of expenses related to the development or acquisition of technologies, services or businesses; and</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">potential goodwill and intangible asset impairment charges associated with acquired businesses.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Further, the interpretation and application of international laws and regulations in many cases is uncertain, and our legal and regulatory obligations in foreign jurisdictions are subject to frequent and unexpected changes, including the potential for various regulatory or other governmental bodies to enact new or additional laws or regulations or to issue rulings that invalidate prior laws or regulations.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Each factor above or discussed elsewhere in this Annual Report on Form 10-K or the cumulative effect of some of these factors may result in fluctuations in our operating results. This variability and unpredictability could result in our failure to meet expectations with respect to operating results, or those of securities analysts or investors, for a particular period. In addition, a significant percentage of our operating expenses are fixed in nature and based on forecasted trends in revenues. Accordingly, in the event of shortfalls in revenues, we are generally unable to mitigate the negative impact on margins in the short term by reducing our operating expenses. If we fail to meet or exceed expectations for our operating results for these or any other reasons, the trading price of our common stock could fall and we could face costly lawsuits, including securities class action suits.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we do not successfully anticipate market needs and opportunities or are unable to enhance our solutions and develop new solutions that meet those needs and opportunities on a timely or cost-effective basis, we may not be able to compete effectively and our business and financial condition may be harmed.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The IT, security and compliance market is characterized by rapid technological advances, customer price sensitivity, short product and service life cycles, intense competition, changes in customer requirements, frequent new product introductions and enhancements and evolving industry standards and regulatory mandates. Any of these factors could create downward pressure on pricing and gross margins, and could adversely affect our renewal rates, as well as our ability to attract new customers. Our future success will depend on our ability to enhance existing solutions, introduce new solutions on a timely and cost-effective basis, meet changing customer needs, extend our core technology into new applications, and anticipate and respond to emerging standards and business models. We must also continually change and improve our solutions in response to changes in operating systems, application software, computer and communications hardware, networking software, shared cloud platform infrastructures, programming tools and computer language technology.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We may not be able to anticipate future market needs and opportunities or develop enhancements or new solutions to meet such needs or opportunities in a timely manner or at all. The market for cloud solutions for IT, security and compliance continues to evolve, and it is uncertain whether our new solutions will gain market acceptance.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our solution enhancements or new solutions could fail to attain sufficient market acceptance for many reasons, including:</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">failure to timely meet market demand for product functionality;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">inability to identify and provide intelligence regarding the attacks or techniques used by cyber-attackers;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">inability to inter-operate effectively with the database technologies, file systems or web applications of our prospective customers;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">defects, errors or failures;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">delays in releasing our enhancements or new solutions;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">negative publicity about their performance or effectiveness;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">introduction or anticipated introduction of products by our competitors;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">poor business conditions, causing customers to delay IT, security and compliance purchases;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">easing or changing of external regulations related to IT, security and compliance; and</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">reluctance of customers to purchase cloud solutions for IT, security and compliance.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furthermore, diversifying our solutions and expanding into new IT, security and compliance markets will require significant investment and planning, require that our research and development and sales and marketing organizations develop expertise in these new markets, bring us more directly into competition with IT, security compliance providers that may be better established or have greater resources than we do, require additional investment of time and resources in the development and training of our channel partners and entail significant risk of failure.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If we fail to anticipate market requirements or fail to develop and introduce solution enhancements or new solutions to satisfy those requirements in a timely manner, such failure could substantially decrease or delay market acceptance and sales of our </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">present and future solutions and cause us to lose existing customers or fail to gain new customers, which would significantly harm our business, financial condition and results of operations. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we fail to continue to effectively scale and adapt our platform to meet the performance and other requirements of our customers, our operating results and our business would be harmed.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our future growth depends to a significant extent on our ability to continue to meet the expanding needs of our customers as their use of our cloud platform grows. As these customers gain more experience with our solutions, the number of users and the number of locations where our solutions are being accessed may expand rapidly in the future. In order to ensure that we meet the performance and other requirements of our customers, we intend to continue to make significant investments to develop and implement new proprietary and third-party technologies at all levels of our cloud platform. These technologies, which include databases, applications and server optimizations, and network and hosting strategies, are often complex, new and unproven. We may not be successful in developing or implementing these technologies. To the extent that we do not effectively scale our platform to maintain performance as our customers expand their use of our platform, our operating results and our business may be harmed.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we are unable to renew existing subscriptions for our IT, security and compliance solutions, sell additional subscriptions for our solutions and attract new customers, our operating results would be harmed.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We offer our cloud platform and integrated suite of solutions pursuant to a software-as-a-service model, and our customers purchase subscriptions from us that are generally one year in length. Our customers have no obligation to renew their subscriptions after their subscription period expires, and they may not renew their subscriptions at the same or higher levels or at all. As a result, our ability to grow depends in part on customers renewing their existing subscriptions and purchasing additional subscriptions and solutions. Our customers may choose not to renew their subscriptions to our solutions or purchase additional solutions due to a number of factors, including their satisfaction or dissatisfaction with our solutions, the prices of our solutions, the prices of products or services offered by our competitors, reductions in our customers&#8217; spending levels due to the macroeconomic environment or other factors. If our customers do not renew their subscriptions to our solutions, renew on less favorable terms, or do not purchase additional solutions or subscriptions, our revenues may grow more slowly than expected or decline and our operating results would be harmed.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, our future growth depends in part upon increasing our customer base. Our ability to achieve significant growth in revenues in the future will depend, in large part, upon continually attracting new customers and obtaining subscription renewals to our solutions from those customers. If we fail to attract new customers, our revenues may grow more slowly than expected and our operating results would be harmed.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our current research and development efforts may not produce successful products or enhancements to our platform that result in significant revenue, cost savings or other benefits in the near future.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We must continue to dedicate significant financial and other resources to our research and development efforts if we are to maintain our competitive position. However, developing products and enhancements to our platform is expensive and time consuming, and there is no assurance that such activities will result in significant new marketable products or enhancements to our platform, design improvements, cost savings, revenue or other expected benefits. If we spend significant resources on research and development and are unable to generate an adequate return on our investment, our business and results of operations may be materially and adversely affected.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our platform, website and internal systems may be subject to intentional disruption or other security incidents that could result in liability and adversely impact our reputation and future sales.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We and our service providers face threats from a variety of sources, including attacks on our networks and systems from numerous sources, including traditional &#8220;hackers,&#8221; sophisticated nation-state and nation-state supported actors, other sources of malicious code (such as viruses and worms), ransomware, social engineering, denial of service attacks, and phishing attempts. We and our service providers could be a target of cyber-attacks or other malfeasance designed to impede the performance of our solutions, penetrate our network security or the security of our cloud platform or our internal systems, misappropriate proprietary information and/or cause interruptions to our services. We and our service providers have experienced and may continue to experience security incidents and attacks of varying degrees from time to time. We have incurred costs to respond to such incidents and may continue to incur costs to support our efforts to enhance our security measures. Additionally, due to political uncertainty and military actions in parts of Eastern Europe and the Middle East, we and our service providers are vulnerable to heightened </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">risks of cybersecurity incidents and security and privacy breaches from or affiliated with nation-state actors, including attacks that could materially disrupt our systems, operations and services.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our solutions, platforms, and system, and those of our service providers, may also suffer security incidents as a result of non-technical issues, including intentional or inadvertent acts or omissions by our employees or service providers. With the increase in personnel working remotely, we and our service providers are at increased risk for security breaches and incidents. We have taken and intend to continue to take steps to monitor and enhance the security of our solutions, cloud platform, and other relevant systems, IT infrastructure, networks, and data; however, the unprecedented scale of remote work may require additional personnel and resources, which nevertheless cannot be guaranteed to fully safeguard our solutions, our cloud platform, or any systems, IT infrastructure networks, or data upon which we rely. Further, because our operations involve providing IT security solutions to our customers, we may be targeted for cyber-attacks and other security incidents. A breach in or incident impacting our data security, an attack against our service availability, or any breach, incident, or attack impacting our third-party service providers, could impact our networks or networks secured by our solutions, creating system disruptions or slowdowns and exploiting security vulnerabilities of our solutions, and the information stored on our networks or those of our third-party service providers could be accessed, used, publicly disclosed, altered, lost, or stolen, which could subject us to liability and cause us financial harm. If an actual or perceived disruption in the availability of our solutions or the breach or other compromise of our security measures or those of our service providers occurs, it could adversely affect the market perception of our solutions, result in a loss of competitive advantage, have a negative impact on our reputation, or result in the loss of customers, channel partners and sales, and it may expose us to the loss, unavailability or alteration of information, claims, demands and litigation, regulatory investigations, actions and other proceedings and possible liability. Any such actual or perceived security breach or incident or disruption could also divert the efforts of our technical and management personnel. We and our service providers may face difficulties or delays in identifying and responding to any security breach or incident. We also may incur significant costs and operational consequences of investigating, remediating, eliminating and putting in place additional tools and devices designed to prevent actual or perceived security incidents, as well as costs to respond to and otherwise address any breach or incident, including any to comply with any notification obligations resulting from any security incidents. In addition, any such actual or perceived security breach or incident could impair our ability to operate our business and provide solutions to our customers. If this happens, our reputation could be harmed, our revenues could decline and our business could suffer.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Although we maintain insurance coverage that may be applicable to certain liabilities in the event of a security breach or other security incident, we cannot be certain that our insurance coverage will be adequate for liabilities that actually are incurred, that insurance will continue to be available to us on economically reasonable terms, or at all, or that any insurer will not deny coverage as to any future claim. The successful assertion of one or more large claims against us that exceed available insurance coverage or the occurrence of changes in our insurance policies, including premium increases or the imposition of large deductible or co-insurance requirements, could have a material and adverse effect on our business, including our financial condition, operating results and reputation.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our sales cycle can be long and unpredictable, and our sales efforts require considerable time and expense. As a result, revenues may vary from period to period, which may cause our operating results to fluctuate and could harm our business.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The timing of sales of subscriptions for our solutions can be difficult to forecast because of the length and unpredictability of our sales cycle, particularly with large transactions and in the current macroeconomic environment. We sell subscriptions to our IT, security and compliance solutions primarily to IT departments that are managing a growing set of user and compliance demands, which has increased the complexity of customer requirements to be met and confirmed during the sales cycle and prolonged our sales cycle. Further, the length of time that potential customers devote to their testing and evaluation, contract negotiation and budgeting processes varies significantly, which has also made our sales cycle long and unpredictable.</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The length of the sales cycle for our solutions typically ranges from six to twelve months but can be more than eighteen months. In addition, we might devote substantial time and effort to a particular unsuccessful sales effort, and as a result we could lose other sales opportunities or incur expenses that are not offset by an increase in revenues, which could harm our business.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Adverse economic conditions or reduced IT spending may adversely impact our business.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our business depends to a significant extent on the overall demand for IT and on the economic health of our current and prospective customers. Economic weakness, customer financial difficulties, supply chain constraints, change in interest rates, inflationary pressures and potential for a recession, and constrained spending on IT security, as well as longer sales cycles, which factors we have experienced in 2023, have resulted and may in the future result in decreased revenue and earnings. Such factors have made and could in the future make it difficult to accurately forecast our sales and operating results and could negatively affect our ability to provide accurate forecasts to our contract manufacturers. In addition, continued governmental budgetary challenges in the United States and Europe, inflationary pressures and potential for a recession, and geopolitical turmoil in many parts of the </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">world, including the ongoing military conflicts in parts of Eastern Europe and the Middle East, and other disruptions to global and regional economies and markets in many parts of the world, as well as uncertainties related to changes in public policies such as domestic and international regulations, taxes or international trade agreements, have and may continue to put pressure on global economic conditions and overall spending on IT security and may further increase inflation, both in the U.S. and globally, which could increase our operating costs in the future and reduce overall spending on IT security. General economic weakness may also lead to longer collection cycles for payments due from our customers, an increase in customer bad debt, restructuring initiatives and associated expenses, and impairment of investments. Furthermore, the continued weakness and uncertainty in worldwide credit markets, including the sovereign debt situation in certain countries in the European Union, may adversely impact our European operations, as well as our current and potential customers' available budgetary spending, which could lead to delays or reductions in planned purchases of our solutions.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Uncertainty about future economic conditions also makes it difficult to forecast operating results and to make decisions about future investments. Future or continued economic weakness for us or our customers, failure of our customers and markets to recover from such weakness, customer financial difficulties, and reductions in spending on IT security could have a material adverse effect on demand for our platform and consequently on our business, financial condition and results of operations.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our IT, security and compliance solutions are delivered from 14 shared cloud platforms</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">, and any disruption of service at these facilities would interrupt or delay our ability to deliver our solutions to our customers which could reduce our revenues and harm our operating results.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We currently host substantially all of our solutions from third-party shared cloud platforms located in the United States, Canada, Switzerland, the Netherlands, United Arab Emirates, Australia, United Kingdom, Italy, the Kingdom of Saudi Arabia and India. These facilities are vulnerable to damage or interruption from earthquakes, hurricanes, floods, fires, cybersecurity attacks, terrorist attacks, employee negligence, power losses, telecommunications failures and similar events. The facilities also could be subjec</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">t to break-ins, sabotage, intentional acts of vandalism and other misconduct. The occurrence of a natural disaster, an act of terrorism or misconduct, a decision to close the facilities without adequate notice or other unanticipated problems could result in interruptions in our services.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Some of our shared cloud platforms are not currently redundant and we may not be able to rapidly move our customers from one shared cloud platform to another, which may increase delays in the restoration of our service for our customers if an adverse event occurs. We have added shared cloud platforms to provide additional capacity and to enable disaster recovery. We continue to build out these facilities; however, these additional facilities may not be operational in the anticipated time-frame and we may incur unplanned expenses.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, our existing shared cloud platform providers have no obligations to renew their agreements with us on commercially reasonable terms, or at all. If we are unable to renew our agreements with the facilities providers on commercially reasonable terms or if in the future we add additional shared cloud platform providers, we may experience costs or downtime in connection with the loss of an existing facility or the transfer to, or addition of, new facilities.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Any disruptions or other performance problems with our solutions could harm our reputation and business and may damage our customers&#8217; businesses. Interruptions in our service delivery might reduce our revenues, cause us to issue credits to customers, subject us to potential liability and cause customers to terminate their subscriptions or not renew their subscriptions.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We face competition in our markets, and we may lack sufficient financial or other resources to maintain or improve our competitive position.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We compete with a large range of established and emerging vulnerability management vendors, compliance vendors and data security vendors in a highly fragmented and competitive environment. We face significant competition for each of our solutions from companies with broad product suites and greater name recognition and resources than we have, as well as from small companies focused on specialized security solutions.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We compete with large and small public companies, such as Broadcom (Symantec Enterprise Security), CrowdStrike, Palo Alto Networks, Rapid7, Tenable Holdings, as well as privately held security providers including Axonius, Checkmarx, Flexera, Invicti, Ivanti, Tanium, HelpSystems (Tripwire), Trustwave Holdings, Veracode and Wiz. We also seek to replace IT, security and compliance solutions that organizations have developed internally. As we continue to extend our cloud platform&#8217;s functionality by further developing IT, security and compliance solutions, such as Cybersecurity Asset Management and Patch Management, we expect to face additional competition in these new markets. Our competitors may also attempt to further expand their presence in the IT, security and compliance market and compete more directly against one or more of our solutions.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe that the principal competitive factors affecting our markets include product functionality, breadth of offerings, flexibility of delivery models, ease of deployment and use, total cost of ownership, scalability and performance, customer support and the extensibility of our platform. Many of our existing and potential competitors have competitive advantages, including:</span></div><div style="margin-top:12pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">greater brand name recognition;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">larger sales and marketing budgets and resources;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">broader distribution networks and more established relationships with distributors and customers;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">access to larger customer bases;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">greater customer support resources;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">greater resources to make acquisitions;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">greater resources to develop and introduce products that compete with our solutions;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">greater resources to meet relevant regulatory requirements; and</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">substantially greater financial, technical and other resources.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result, our competitors may be able to respond more quickly and effectively than we can to new or changing opportunities, technologies, standards or customer requirements. With the introduction of new technologies, the evolution of our service and new market entrants, we expect competition to intensify in the future.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, some of our larger competitors have substantially broader product offerings and can bundle competing products and services with other software offerings. As a result, customers may choose a bundled product offering from our competitors, even if individual products have more limited functionality than our solutions. These competitors may also offer their products at a lower price as part of this larger sale, which could increase pricing pressure on our solutions and cause the average sales price for our solutions to decline. These larger competitors are also often in a better position to withstand any significant reduction in capital spending and will therefore not be as susceptible to economic downturns.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furthermore, our current and potential competitors may establish cooperative relationships among themselves or with third parties that may further enhance their resources and product and services offerings in the markets we address. In addition, current or potential competitors may be acquired by third parties with greater available resources. As a result of such relationships and acquisitions, our current or potential competitors might be able to adapt more quickly to new technologies and customer needs, devote greater resources to the promotion or sale of their products and services, initiate or withstand substantial price competition, take advantage of other opportunities more readily or develop and expand their product and service offerings more quickly than we do. For all of these reasons, we may not be able to compete successfully against our current or future competitors.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The sales prices of our solutions are subject to competitive pressures and may decrease, which may reduce our gross profits and adversely impact our financial results. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The sales prices for our solutions may decline for a variety of reasons, including competitive pricing pressures, discounts, a change in our mix of solutions and subscriptions, anticipation of the introduction of new solutions or subscriptions, or promotional programs. Competition continues to increase in the market segments in which we participate, and we expect competition to further increase in the future, thereby leading to increased pricing pressures. Larger competitors with more diverse product and service offerings may reduce the price of products or subscriptions that compete with ours or may bundle them with other products and subscriptions. Additionally, although we price our products and subscriptions worldwide in U.S. Dollars, Euro, British Pounds, Canadian Dollars, Japanese Yen and Indian Rupee, currency fluctuations in certain countries and regions may negatively impact actual prices that partners and customers are willing to pay in those countries and regions, or the effective prices we realize in our reporting currency. We cannot assure you that we will be successful in developing and introducing new offerings with enhanced functionality on a timely basis, or that our new product and subscription offerings, if introduced, will enable us to maintain our prices and gross profits at levels that will allow us to maintain positive gross margins and profitability.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If our solutions fail to help our customers achieve and maintain compliance with regulations and industry standards, our revenues and operating results could be harmed.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We generate a portion of our revenues from solutions that help organizations achieve and maintain compliance with regulations and industry standards. For example, many of our customers subscribe to our IT, security and compliance solutions to help them comply with the security standards developed and maintained by the Payment Card Industry Security Standards Council, </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">or the PCI Council, which apply to companies that store cardholder data. Industry organizations like the PCI Council may significantly change their security standards with little or no notice, including changes that could make their standards more or less onerous for businesses. Governments may also adopt new laws or regulations, or make changes to existing laws or regulations, which could impact the demand for or value of our solutions.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If we are unable to adapt our solutions to changing regulatory standards in a timely manner, or if our solutions fail to assist with or expedite our customers&#8217; compliance initiatives, our customers may lose confidence in our solutions and could switch to products offered by our competitors. In addition, if regulations and standards related to data security, vulnerability management and other IT, security and compliance requirements are relaxed or the penalties for non-compliance are changed in a manner that makes them less onerous, our customers may view government and industry regulatory compliance as less critical to their businesses, and our customers may be less willing to purchase our solutions. In any of these cases, our revenues and operating results could be harmed.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If our solutions fail to detect vulnerabilities or incorrectly detect vulnerabilities, our brand and reputation could be harmed, which could have an adverse effect on our business and results of operations.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If our solutions fail to detect vulnerabilities in our customers&#8217; IT infrastructures, or if our solutions fail to identify and respond to new and increasingly complex methods of attacks, our business and reputation may suffer. There is no guarantee that our solutions will detect all vulnerabilities. Additionally, our IT, security and compliance solutions may falsely detect vulnerabilities or threats that do not actually exist. For example, some of our solutions rely on information on attack sources aggregated from third-party data providers who monitor global malicious activity originating from a variety of sources, including anonymous proxies, specific IP addresses, botnets and phishing sites. If the information from these data providers is inaccurate, the potential for false indications of security vulnerabilities increases. These false positives, while typical in the industry, may impair the perceived reliability or usability of our solutions and may therefore adversely impact market acceptance of our solutions and could result in negative publicity, loss of customers and sales, increased costs to remedy any incorrect information or problem, or claims by aggrieved parties. Similar issues may be generated by the misuse of our tools to identify and exploit vulnerabilities.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Further, our solutions sometimes are tested against other security products, and may fail to perform as effectively, or to be perceived as performing as effectively, as competitive products for any number of reasons, including misconfiguration. To the extent current or potential customers, channel partners, or others believe there has been an occurrence of an actual or perceived failure of our solutions to detect a vulnerability or otherwise to function as effectively as competitive products in any particular test, or indicates our solutions do not provide significant value, our business, competitive position, and reputation could be harmed.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, our solutions do not currently extend to cover all mobile and personal devices that employees may bring into an organization. As such, our solutions would not identify or address vulnerabilities in all mobile and personal devices, and our customers&#8217; IT infrastructures may be compromised by attacks that infiltrate their networks through such devices. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">An actual or perceived security breach or incident or loss, theft, unavailability or other compromise of the sensitive data of one of our customers, regardless of whether the breach is attributable to the failure of our solutions, could adversely affect the market&#8217;s perception of our security solutions.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we are unable to continue the expansion of our sales force, sales of our solutions and the growth of our business would be harmed.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe that our growth will depend, to a significant extent, on our success in recruiting and retaining a sufficient number of qualified sales personnel and their ability to obtain new customers, manage our existing customer base and expand the sales of our newer solutions. We plan to continue to expand our sales force and invest in our sales and marketing activities. Our recent hires and planned hires may not become as productive as quickly as we would like, and we may be unable to hire or retain sufficient numbers of qualified individuals in the future in the competitive markets where we do business. Competition for highly skilled personnel is frequently intense and we may not be able to compete for these employees. If we are unable to recruit and retain a sufficient number of productive sales personnel, sales of our solutions and the growth of our business may be harmed. Additionally, if our efforts do not result in increased revenues, our operating results could be negatively impacted due to the upfront operating expenses associated with expanding our sales force.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We rely on third-party channel partners to generate a substantial amount of our revenues, and if we fail to expand and manage our distribution channels, our revenues could decline and our growth prospects could suffer.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our success significantly depends to a significant extent on establishing and maintaining relationships with a variety of channel partners and we anticipate that we will continue to depend on these partners in order to grow our business. For the years ended December&#160;31, 2023, 2022 and 2021</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">we derived approximately 43%, 42% and 41% </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">o</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">f our revenues from sales of subscriptions for our solutions through channel partners, and the percentage of revenues derived from channel partners may increase in future periods. Our agreements with our channel partners are generally non-exclusive and do not prohibit them from working with our competitors or offering competing solutions, and many of our channel partners have more established relationships with our competitors. If our channel partners choose to place greater emphasis on products of their own or those offered by our competitors, do not effectively market and sell our solutions, or fail to meet the needs of our customers, then our ability to grow our business and sell our solutions may be adversely affected. In addition, the loss of one or more of our larger channel partners, who may cease marketing our solutions with limited or no notice, and our possible inability to replace them, could adversely affect our sales. Moreover, our ability to expand our distribution channels depends in part on our ability to educate our channel partners about our solutions, which can be complex. Our failure to recruit additional channel partners, or any reduction or delay in their sales of our solutions or conflicts between channel sales and our direct sales and marketing activities may harm our results of operations. Even if we are successful, these relationships may not result in greater customer usage of our solutions or increased revenues.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, the financial health of our channel partners and our continuing relationships with them are important to our success. Some of these channel partners may be unable to withstand adverse changes in economic conditions, which could result in insolvency and/or the inability of such distributors to obtain credit to finance purchases of our products and services. In addition, weakness in the end-user market could negatively affect the cash flows of our channel partners who could, in turn, delay paying their obligations to us, which would increase our credit risk exposure. Our business could be harmed if the financial condition of some of these channel partners substantially weakened and we were unable to timely secure replacement channel partners.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">A significant portion of our customers, channel partners and employees are located outside of the United States, which subjects us to a number of risks associated with conducting international operations, and if we are unable to successfully manage these risks, our business and operating results could be harmed.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We market and sell subscriptions to our solutions throughout the world and have personnel in many parts of the world. In addition, we have sales offices and research and development facilities outside the United States and we conduct, and expect to continue to conduct, a significant amount of our business with organizations that are located outside the United States, particularly in Europe and Asia. Therefore, we are subject to risks associated with having international sales and worldwide operations, including:</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">foreign currency exchange fluctuations;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">trade and foreign exchange restrictions;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">economic or political instability in foreign markets, including as a result of increasing tensions between India and China;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">greater difficulty in enforcing contracts, accounts receivable collection and longer collection periods; </span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">changes in regulatory requirements;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">tax laws (including U.S. taxes on foreign subsidiaries);</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">difficulties and costs of staffing and managing foreign operations;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the uncertainty and limitation of protection for intellectual property rights in some countries;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">costs of compliance with foreign laws and regulations and the risks and costs of non-compliance with such laws and regulations;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">costs of complying with U.S. laws and regulations for foreign operations, including the Foreign Corrupt Practices Act, import and export control laws, tariffs, trade barriers, economic sanctions and other regulatory or contractual limitations on our ability to sell our solutions in certain foreign markets, and the risks and costs of non-compliance;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">heightened risks of unfair or corrupt business practices in certain geographies and of improper or fraudulent sales arrangements that may impact financial results and result in restatements of, and irregularities in, financial statements;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the potential for political unrest, acts of terrorism, hostilities or war;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">management communication and integration problems resulting from cultural differences and geographic dispersion; and</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">multiple and possibly overlapping tax structures.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Some of our business partners also have international operations and are subject to the risks described above. Even if we are able to successfully manage the risks of international operations, our business may be adversely affected if our business partners are not able to successfully manage these risks.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our business, including the sales of subscriptions of our solutions, may be subject to foreign governmental regulations, which vary substantially from country to country and change from time to time. Failure to comply with these regulations could adversely affect our business. Further, in many foreign countries it is common for others to engage in business practices that are prohibited by our internal policies and procedures or U.S. regulations applicable to us. Although we have implemented policies and procedures designed to ensure compliance with these laws and policies, there can be no assurance that all of our employees, contractors, channel partners and agents have complied or will comply with these laws and policies. Violations of laws or key control policies by our employees, contractors, channel partners or agents could result in delays in revenue recognition, financial reporting misstatements, fines, penalties or the prohibition of the importation or exportation of our solutions and could have a material adverse effect on our business and results of operations. If we are unable to successfully manage the challenges of international operations, our business and operating results could be adversely affected.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, as of December&#160;31, 2023, approximately 75% of our employees were located outside of the United States, with 66% of our employees located in Pune, India. Accordingly, we are exposed to changes in laws governing our employee relationships in various U.S. and foreign jurisdictions, including laws and regulations regarding wage and hour requirements, fair labor standards, employee data privacy, unemployment tax rates, workers&#8217; compensation rates, citizenship requirements and payroll and other taxes which may have a direct impact on our operating costs. We may continue to expand our international operations and international sales and marketing activities. Expansion in international markets has required, and will continue to require, significant management attention and resources. We may be unable to scal</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">e our infrastructure effectively or as quickly as our competitors in these markets and our revenues may not increase to offset any increased costs and operating expenses, which would cause our results to suffer.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We are exposed to fluctuations in currency exchange rates, which could negatively affect our financial condition and results of operations.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our reporting currency is the U.S. dollar and we generate a majority of our revenues in U.S. dollars. However, for the year ended December&#160;31, 2023, we incurred approximately 29% of our expenses in foreign currencies, primarily Euro, British Pounds, and Indian Rupee, principally with respect to salaries and related personnel expenses associated with our European and Indian operations. Additionally, for the year ended December&#160;31, 2023, approximately 23% of our revenue</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">s were generated in foreign currencies. Accordingly, changes in exchange rates may have a material adverse effect on our business, operating results and financial condition. The exchange rate between the U.S. dollar and foreign currencies has fluctuated substantially in recent years and may continue to fluctuate substantially in the future. We expect that a majority of our revenues will continue to be generated in U.S. dollars for the foreseeable future and that a significant portion of our expenses, including personnel costs, as well as capital and operating expenditures, will continue to be denominated in the Euro, British Pound and Indian Rupee. The result of our operations may be adversely affected by foreign exchange fluctuations.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We use derivative financial instruments to reduce our foreign currency exchange risks. We use foreign currency forward contracts to mitigate the impact of foreign currency fluctuations of certain non-U.S. dollar denominated net asset positions, to date primarily cash, accounts receivable and operating lease liabilities (non-designated), as well as to manage foreign currency fluctuation risk related to forecasted transactions (designated). However, we may not be able to purchase derivative instruments that are adequate to insulate ourselves from foreign currency exchange risks. Additionally, our hedging activities may contribute to increased losses as a result of volatility in foreign currency markets.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If the market for cloud solutions for IT, security and compliance does not evolve as we anticipate, our revenues may not grow and our operating results would be harmed.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our success depends to a significant extent on the willingness of organizations to increase their use of cloud solutions for their IT, security and compliance. Some organizations may be reluctant to use cloud solutions because they have concerns regarding the risks associated with the reliability or security of the technology delivery model associated with these solutions. If other cloud service providers experience security incidents, loss of customer data, disruptions in service delivery or other problems, the market for cloud solutions as a whole, including our solutions, may be negatively impacted. Moreover, organizations that have invested substantial personnel and financial resources to integrate on-premise software into their businesses may be reluctant or unwilling to migrate to a cloud solution. Organizations that use on-premise security products, such as network firewalls, security information and event management products or data loss prevention solutions, may also believe that these products sufficiently protect their IT infrastructure and deliver adequate security. Therefore, they may continue spending their IT security budgets on these products and may not adopt our IT, security and compliance solutions in addition to or as a replacement for such products.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If customers do not recognize the benefits of our cloud solutions over traditional on-premise enterprise software products, and as a result we are unable to increase sales of subscriptions to our solutions, then our revenues may not grow or may decline, and our operating results would be harmed.</span></div><div style="margin-top:12pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our business and operations have continued to grow since inception, and if we do not appropriately manage any future growth, or are unable to improve our systems and processes, our operating results may be negatively affected.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have continued to grow over the last several years, with revenues increasing from $411.2 million in 2021 to $554.5 million in 2023, and headcount increasing from 1,498 employees at the beginning of 2021 to 2,188 employees as of December&#160;31, 2023. We rely on information technology systems to help manage critical functions such as order processing, revenue recognition and financial forecasts. To manage any future growth effectively we must continue to improve and expand our IT systems, financial infrastructure, and operating and administrative systems and controls, and continue to manage headcount, capital and processes in an efficient manner. We may not be able to successfully implement improvements to these systems and processes in a timely or efficient manner.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our failure to improve our systems and processes, or their failure to operate in the intended manner, may result in our inability to manage the growth of our business and to accurately forecast our revenues, expenses and earnings, or to prevent certain losses. In addition, as we continue to grow, our productivity and the quality of our solutions may also be adversely affected if we do not integrate and train our new employees quickly and effectively. Any future growth would add complexity to our organization and require effective coordination across our organization. Failure to manage any future growth effectively could result in increased costs, harm our results of operations and lead to investors losing confidence in our internal systems and processes.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We depend on the continued services and performance of our senior management and other key employees, the loss of any of whom could adversely affect our business, operating results and financial condition.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our future performance depends to a significant extent on the continued services and continuing contributions of our senior management and other key employees, to execute on our business plan and to identify and pursue new opportunities and product innovations. We do not maintain key-man insurance for any member of our senior management team. Our senior management and key employees are generally employed on an at-will basis, which means that they could terminate their employment with us at any time. From time to time, there may be changes in our senior management team resulting from the termination or departure of executives. The loss of the services of our senior management or other key employees for any reason could significantly delay or prevent the achievement of our development and strategic objectives and harm our business, financial condition and results of operations.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we are unable to hire, retain and motivate qualified personnel, our business may suffer.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our future success depends, in part, on our ability to continue to attract and retain highly skilled personnel. The loss of the services of any of our key personnel, the inability to attract or retain qualified personnel or delays in hiring required personnel, particularly in engineering and sales, may seriously harm our business, financial condition and results of operations. Any of our employees may terminate their employment at any time. Competition for highly skilled personnel is frequently intense, especially within our industry, and we may not be able to compete for such personnel.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are required under accounting principles generally accepted in the United States (U.S. GAAP) to recognize compensation expense in our operating results for employee stock-based compensation under our equity grant programs, which may negatively impact our operating results and may increase the pressure to limit stock-based compensation that we might otherwise offer to current or potential employees, thereby potentially harming our ability to attract or retain highly skilled personnel. In addition, to the extent we hire personnel from competitors, we may be subject to allegations that they have been improperly solicited or divulged proprietary or other confidential information, which could result in a diversion of management's time and our resources.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">A portion of our revenues are generated by sales to government entities, which are subject to a number of challenges and risks.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Government entities have historically been particularly concerned about adopting cloud-based solutions for their operations, including security solutions, and increasing sales of subscriptions for our solutions to government entities may be more challenging than selling to commercial organizations. Selling to government entities can be highly competitive, expensive and time-consuming, often requiring significant upfront time and expense without any assurance that we will win a sale. We have invested in the creation of a cloud offering certified under the Federal Information Security Management Act for government usage but we cannot be sure that we will continue to sustain or renew this certification, that the government will continue to mandate such certification or that other government agencies or entities will use this cloud offering. Government demand and payment for our solutions may be impacted by public sector budgetary cycles and funding authorizations, with funding reductions or delays adversely affecting public sector demand for our solutions. Government entities may have contractual or other legal rights to terminate contracts with our channel partners for convenience or due to a default, and any such termination may adversely impact our future results of operations. Governments routinely investigate and audit government contractors&#8217; administrative processes, and any unfavorable audit could result in the government refusing to continue buying our solutions, a reduction of revenues or fines or civil or criminal liability if the audit uncovers improper or illegal activities. Any such penalties could adversely impact our results of operations in a material way.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our success in acquiring and integrating other businesses, products or technologies could impact our financial position.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In order to remain competitive, we have in the past and may in the future seek to acquire additional businesses, products, services or technologies. For example, we acquired certain intellectual property of TotalCloud on August 19, 2021 and certain assets of Blue Hexagon on October 4, 2022. The environment for acquisitions in our industry is very competitive and acquisition candidate purchase prices may exceed what we would prefer to pay. Moreover, achieving the anticipated benefits of past and future acquisitions will depend in part upon whether we can integrate acquired operations, products and technology in a timely and cost-effective manner, and even if we achieve benefits from acquisitions, such acquisitions may still be viewed negatively by customers, financial markets or investors. The acquisition and integration process is complex, expensive and time-consuming, and may cause an interruption of, or loss of momentum in, product development and sales activities and operations of both companies, as well as divert the attention of management, and we may incur substantial cost and expense. We may issue equity securities which could dilute current stockholders&#8217; ownership, incur debt, assume contingent or other liabilities and expend cash in acquisitions, which could negatively impact our financial position, stockholder equity and stock price. We may not find suitable acquisition candidates, and acquisitions we complete may be unsuccessful. If we consummate a transaction, we may be unable to integrate and manage acquired products and businesses effectively or retain key personnel. If we are unable to effectively execute acquisitions, our business, financial condition and operating results could be adversely affected.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We rely on software-as-a-service vendors to operate certain functions of our business and any failure of such vendors to provide services to us could adversely impact our business and operations.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We rely on third-party software-as-a-service vendors to operate certain critical functions of our business, including financial management and human resource management. If these services become unavailable due to extended outages or interruptions or because they are no longer available on commercially reasonable terms or prices, our expenses could increase, our ability to manage our finances could be interrupted and our processes for managing sales of our solutions and supporting our customers could be impaired until equivalent services, if available, are identified, obtained and integrated, all of which could harm our business.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Incorrect or improper implementation or use of our solutions could result in customer dissatisfaction and harm our business and reputation.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If our customers are unable to implement our solutions successfully, customer perceptions of our platform and solutions may be impaired or our reputation and brand may suffer. Our customers have in the past inadvertently misused our solutions, which triggered downtime in their internal infrastructure until the problem was resolved. Additionally, any failure to implement and configure our solutions correctly may result in our solutions failing to detect vulnerabilities or compliance issues, or otherwise to perform effectively, and may result in disruptions to our customers&#8217; IT environments and businesses. Any misuse of our solutions, including any failure to implement and configure them appropriately, could result in disruption to our customers&#8217; businesses, customer dissatisfaction, negative impacts on the perceived reliability or effectiveness of our solutions, and claims and litigation, and may result in negative press coverage, negative effects on our reputation and competitive position, a loss of sales, customers, and channel partners, and harm our financial results.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We recognize revenues from subscriptions over the term of the relevant service period, and therefore any decreases or increases in bookings are not immediately reflected in our operating results.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize revenues from subscriptions over the term of the relevant service period, which is typically one year. As a result, most of our reported revenues in each quarter are derived from the recognition of deferred revenues relating to subscriptions entered into during previous quarters. Consequently, a shortfall in demand for our solutions in any period may not significantly reduce our revenues for that period, but could negatively affect revenues in future periods. Accordingly, the effect of significant downturns in bookings may not be fully reflected in our results of operations until future periods. We may be unable to adjust our costs and expenses to compensate for such a potential shortfall in revenues. Our subscription model also makes it difficult for us to rapidly increase our revenues through additional bookings in any period, as revenues are recognized ratably over the subscription period.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our business is subject to the risks of earthquakes, fire, power outages, floods and other catastrophic events, and to interruption by man-made problems such as terrorism.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A significant natural disaster, such as an earthquake, fire or a flood, or a significant power outage could have a material adverse impact on our business, operating results and financial condition. Our corporate headquarters and a significant portion of our operations are located in the San Francisco Bay Area, a region known for seismic activity. In addition, natural disasters could affect our business partners&#8217; ability to perform services for us on a timely basis. In the event we or our business partners are hindered by any of the events discussed above, our ability to provide our solutions to customers could be delayed, resulting in our missing financial targets, such as revenues and net income, for a particular quarter. Further, if a natural disaster occurs in a region from which we derive a significant portion of our revenues, customers in that region may delay or forego subscriptions of our solutions, which may materially and adversely impact our results of operations for a particular period. In addition, war, acts of terrorism, pandemics or other health emergencies, or responses to these events could cause disruptions in our business or the business of our business partners, customers or the economy as a whole. All of the aforementioned risks may be exacerbated if the disaster recovery plans for us and our suppliers prove to be inadequate. To the extent that any of the above results in delays of customer subscriptions or commercialization of our solutions, our business, financial condition and results of operations could be adversely affected.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Related to Intellectual Property, Legal, Tax and Regulatory Matters</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Undetected software errors or flaws in our solutions could harm our reputation, decrease market acceptance of our solutions or result in liability.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our solutions may contain undetected errors or defects when first introduced or as new versions are released. We have experienced these errors or defects in the past in connection with new solutions and solution upgrades and we expect that these errors or defects will be found from time to time in the future in new or enhanced solutions after commercial release of these solutions. Since our customers use our solutions for IT, security and compliance reasons, any errors, defects, disruptions in service or other performance problems with our solutions, or any other failure of our solutions to detect vulnerabilities or compliance problems or otherwise to perform effectively, may result in disruptions or damage to the business of our customers, including security breaches or compliance failures. Additionally, any such issues, or the perception that they have occurred, whether or not relating to any actual or perceived error or defect in our solutions, could hurt our reputation and competitive position and we may incur significant costs, the attention of key personnel could be diverted, our customers may delay or withhold payment to us or elect not to renew, we could face a loss of sales, customers, and channel partners, and other significant problems with our relationships with customers and channel partners may arise. We may also be subject to liability claims for damages related to actual or perceived errors or defects in our solutions. A material liability claim or other occurrence that harms our reputation or decreases market acceptance of our solutions may harm our business, competitive and financial position, and operating results.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Although we maintain insurance coverage that may be applicable to certain liabilities in connection with these matters, we cannot be certain that our insurance coverage will be adequate for liabilities that actually are incurred, that insurance will continue to be available to us on economically reasonable terms, or at all, or that any insurer will not deny coverage as to any future claim. The successful assertion of one or more large claims against us that exceed available insurance coverage or the occurrence of changes in our insurance policies, including premium increases or the imposition of large deductible or co-insurance requirements, could have a material and adverse effect on our business, including our financial condition, operating results and reputation.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our solutions could be used to collect and store personal information of our customers</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8217;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"> employees or customers, and therefore privacy and other data handling concerns could result in additional cost and liability to us or inhibit sales of our solutions.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We collect the names and email addresses of our customers in connection with subscriptions to our solutions. Additionally, the data that our solutions collect to help secure and protect the IT infrastructure of our customers may include additional personal or confidential information of our customers&#8217; employees and their customers, and we may collect, store and otherwise process personal or confidential information more generally in connection with our business and operations. Personal privacy has become a significant issue in the United States and in many other countries where we offer our solutions. The regulatory framework for privacy issues worldwide is currently evolving and is likely to remain uncertain for the foreseeable future. Many federal, state and foreign government bodies and agencies have adopted or are considering adopting laws and regulations regarding the collection, use, disclosure and retention of personal information. In the United States, these include, for example, rules and regulations promulgated under the authority of the Federal Trade Commission, the Health Insurance Portability and Accountability Act of 1996, the Gramm-Leach-Bliley Act, and state breach notification laws. Internationally, virtually every jurisdiction in which we operate has established its own data security and privacy legal framework with which we or our customers must comply.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">These privacy, data protection and information security laws and regulations may result in ever-increasing regulatory and public scrutiny and escalating levels of enforcement and sanctions. Additionally, new laws and regulations relating to privacy and data protection continue to be proposed and enacted. For example, the European Union has adopted the Global Data Protection Regulation (&#8220;GDPR&#8221;). This regulation, which took effect in May of 2018, provides for substantial obligations relating to the handling, storage and other processing of data relating to individuals and administrative fines for violations, which can be up to four percent of the previous year&#8217;s annual revenue or &#8364;20 million, whichever is higher. The GDPR may be subject to new or changing interpretations by courts, and our interpretation of the law and efforts to comply with the rules and regulations of the law may be ruled invalid. Similarly, the California Consumer Privacy Act (&#8220;CCPA&#8221;) requires covered companies to, among other things, provide new disclosures to California consumers and affords such consumers new rights to opt-out of certain sales of personal information. The CCPA also creates a private right of action for statutory damages for certain breaches of information. Additionally, the California Privacy Rights Act (&#8220;CPRA&#8221;), was approved by voters in the November 3, 2020 election. The CPRA modified the CCPA significantly, creating obligations relating to consumer data beginning on January 1, 2022, with enforcement authorized as of July 1, 2023. In addition, other states have enacted or proposed legislation that regulates the collection, use, and sale of personal information, including, for example, Washington's My Health, My Data Act and legislation similar to the CCPA adopted in Virginia, Colorado, Utah, Connecticut, Iowa, Indiana, Montana, Tennessee, Oregon, Florida, Delaware, and Texas. Aspects of the CCPA, CPRA, and these other new and evolving state laws, as well their interpretation and enforcement, remain uncertain. We cannot predict the impact of the CCPA, CPRA, or other evolving privacy and data protection obligations on our business or operations, but they may require us to modify our data processing practices and policies and incur substantial costs and expenses in an effort to comply.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The privacy, data protection, and information security laws and regulations we must comply with also are subject to change. For example, the United Kingdom has enacted a Data Protection Act, and has implemented legislation referred to as the &#8220;UK GDPR,&#8221; that substantially implement the GDPR in the United Kingdom following the United Kingdom&#8217;s exit from the European Union. This legislation provides for substantial penalties for noncompliance of up to the greater of &#163;17.5 million or four percent of the previous year&#8217;s annual revenues. While the European Union has deemed the United Kingdom an &#8220;adequate country&#8221; to which personal data could be exported from the European Economic Area (&#8220;EEA&#8221;), this decision is required to be renewed after four years of being in effect and may be modified, revoked, or challenged in the interim, creating uncertainty regarding transfers of personal data to the United Kingdom from the EEA. It remains unclear how United Kingdom data protection laws or regulations will develop in the medium to longer term and how data transfers to and from the United Kingdom will be regulated. Additionally, we have self-certified under the EU-U.S. Data Privacy Framework and a related program, the Swiss-U.S. Data Privacy Framework, and have adopted certain standard contractual clauses approved by the European Commission (&#8220;SCCs&#8221;) as part of our data processing agreements with regard to certain transfers of personal data from the EEA to the U.S. Both the EU-U.S. Data Privacy Framework and SCCs have, however, been subject to legal challenge. In its July 16, 2020 opinion, the CJEU imposed additional obligations on companies when relying on SCCs to transfer personal data. The European Commission has published revised SCCs addressing the CJEU concerns on June 4, 2021, that are required to be implemented. The United Kingdom has adopted new standard contractual clauses (&#8220;UK SCCs&#8221;), that became effective as of March 21, 2022, and which also are required to be implemented. The EU-U.S. Data Privacy Framework, Swiss-U.S. Data Privacy Framework revised SCCs and UK SCCs, guidance and opinions of regulators, and other developments relating to cross-border data transfer may require us to implement additional contractual and technical safeguards for any personal data transferred out of Europe, which may increase compliance costs, lead to increased regulatory scrutiny or liability, and which may adversely impact our business, financial condition and operating results. We may be unsuccessful in maintaining legitimate means for our transfer and receipt of personal data from the EEA or Switzerland. We may experience reluctance or refusal by current or prospective European customers to use our products, and we and our customers may face a risk of enforcement actions by data protection authorities in the EEA relating to personal data transfers to us and by us from the EEA. Any such enforcement actions could result in substantial costs and diversion of resources, distract management and technical personnel and negatively affect our business, operating results and financial condition. Some countries also are considering or have passed legislation requiring local storage and processing of data, or similar requirements, which could increase the cost and complexity of delivering our services.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition to laws and regulations, privacy advocacy and industry groups or other private parties may propose new and different privacy standards that either legally or contractually apply to us. Because the interpretation and application of privacy and data protection laws, regulations, standards and contractual obligations are uncertain, it is possible that they may be interpreted and applied in a manner that is, or perceived to be, inconsistent with our data management practices or the features of our solutions. If so, in addition to the possibility of regulatory investigations and enforcement actions, fines, lawsuits and other claims, other forms of injunctive or operations-limiting relief, and damage to our reputations and loss of goodwill, we could be required to fundamentally change our business activities and practices or modify our solutions and may face limitations in our ability to develop new solutions and features, any of which could have an adverse effect on our business. Any inability to adequately address privacy concerns, even if unfounded, or any actual or perceived inability to comply with applicable privacy or data protection laws, regulations and privacy standards, could result in cost and liability to us, damage our reputation, inhibit sales of subscriptions and harm our business.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furthermore, the costs of compliance with, and other burdens imposed by, the laws, regulations, and privacy standards that are applicable to the businesses of our customers may limit the use and adoption of, and reduce the overall demand for, our solutions. Privacy concerns, whether valid or not valid, may inhibit market adoption of our solutions particularly in certain industries and foreign countries.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We use AI/machine learning technologies in our solutions that could result in harm to our business and operating results. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have incorporated and may continue to incorporate additional AI/machine learning solutions and features into our solutions, and these solutions and features may become more important to our operations or to our future growth over time. We expect to rely on AI/machine learning solutions and features to help drive future growth in our business, but there can be no assurance that we will realize the desired or anticipated benefits from AI/machine learning or at all. We may also fail to properly implement or market our AI/machine learning solutions and features. Our competitors or other third parties may incorporate AI/machine learning into their products, offerings, and solutions more quickly or more successfully than us, which could impair our ability to compete effectively and adversely affect our results of operations. Additionally, our offerings based on AI/machine learning may expose us to additional claims, demands and proceedings by private parties and regulatory authorities and subject us to legal liability as well as brand and reputational harm. The legal, regulatory, and policy environments around AI/machine learning are evolving rapidly, and we may become subject to new and evolving legal and other obligations. These and other developments may require us to make significant changes to our use of AI/machine learning, including by limiting or restricting our use of AI/machine learning, and which may require us to make significant changes to our policies and practices, which may necessitate expenditure of significant time, expense, and other resources, AI/machine learning also presents emerging ethical issues that could harm our reputation and business if our use of AI/machine learning becomes controversial.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our solutions contain third-party open source software components, and our failure to comply with the terms of the underlying open source software licenses could restrict our ability to sell our solutions.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our solutions contain software licensed to us by third-parties under so-called &#8220;open source&#8221; licenses, including the GNU General Public License, the GNU Lesser General Public License, the BSD License, the Apache License and others. From time to time, there have been claims against companies that distribute or use open source software in their products and services, asserting that such open source software infringes the claimants&#8217; intellectual property rights. We could be subject to suits by parties claiming that what we believe to be licensed open source software infringes their intellectual property rights. Use and distribution of open source software may entail greater risks than use of third-party commercial software, as open source licensors generally do not provide warranties or other contractual protections regarding infringement claims or the quality of the code. In addition, certain open source licenses require that source code for software programs that are subject to the license be made available to the public and that any modifications or derivative works to such open source software continue to be licensed under the same terms. If we combine our proprietary software with open source software in certain ways, we could, in some circumstances, be required to release the source code of our proprietary software to the public. Disclosing the source code of our proprietary software could make it easier for cyber attackers and other third parties to discover vulnerabilities in or to defeat the protections of our solutions, which could result in our solutions failing to provide our customers with the security they expect from our services. This could harm our business and reputation. Disclosing our proprietary source code also could allow our competitors to create similar products with lower development effort and time and ultimately could result in a loss of sales for us. Any of these events could have a material adverse effect on our business, operating results and financial condition.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Although we monitor our use of open source software in an effort both to comply with the terms of the applicable open source licenses and to avoid subjecting our solutions to conditions we do not intend, the terms of many open source licenses have not been interpreted by U.S. courts, and there is a risk that these licenses could be construed in a way that could impose unanticipated conditions or restrictions on our ability to commercialize our solutions. In this event, we could be required to seek </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">licenses from third parties to continue offering our solutions, to make our proprietary code generally available in source code form, to re-engineer our solutions or to discontinue the sale of our solutions if re-engineering could not be accomplished on a timely basis, any of which could adversely affect our business, operating results and financial condition.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We use third-party software and data that may be difficult to replace or cause errors or failures of our solutions that could lead to lost customers or harm to our reputation and our operating results.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We license third-party software as well as security and compliance data from various third parties to deliver our solutions. In the future, this software or data may not be available to us on commercially reasonable terms, or at all. Any loss of the right to use any of this software or data could result in delays in the provisioning of our solutions until equivalent technology or data is either developed by us, or, if available, is identified, obtained and integrated, which could harm our business. In addition, any errors or defects in or failures of this third-party software or data could result in errors or defects in our solutions or cause our solutions to fail, which could harm our business and be costly to correct. Many of these providers attempt to impose limitations on their liability for such errors, defects or failures, and if enforceable, we may have additional liability to our customers or third-party providers that could harm our reputation and increase our operating costs.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We will need to maintain our relationships with third-party software and data providers, and to obtain software and data from such providers that do not contain any errors or defects. Any failure to do so could adversely impact our ability to deliver effective solutions to our customers and could harm our operating results.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Failure to protect our proprietary technology and intellectual property rights could substantially harm our business and operating results.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The success of our business depends in part on our ability to protect and enforce our trade secrets, trademarks, copyrights, patents and other intellectual property rights. We attempt to protect our intellectual property under copyright, trade secret, patent and trademark laws, and through a combination of confidentiality procedures, contractual provisions and other methods, all of which offer only limited protection.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We primarily rely on our unpatented proprietary technology and trade secrets. Despite our efforts to protect our proprietary technology and trade secrets, unauthorized parties may attempt to misappropriate, reverse engineer or otherwise obtain and use them. The contractual provisions that we enter into with employees, consultants, partners, vendors and customers may not prevent unauthorized use or disclosure of our proprietary technology or intellectual property rights and may not provide an adequate remedy in the event of unauthorized use or disclosure of our proprietary technology or intellectual property rights. Moreover, policing unauthorized use of our technologies, solutions and intellectual property is difficult, expensive and time-consuming, particularly in foreign countries where the laws may not be as protective of intellectual property rights as those in the United States and where mechanisms for enforcement of intellectual property rights may be weak. We may be unable to determine the extent of any unauthorized use or infringement of our solutions, technologies or intellectual property rights.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The process of obtaining patent protection is expensive and time-consuming, and we may not be able to prosecute all necessary or desirable patent applications at a reasonable cost or in a timely manner, if at all. We may choose not to seek patent protection for certain innovations and may choose not to pursue patent protection in certain jurisdictions.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furthermore, it is possible that our patent applications may not result in granted patents, that the scope of our issued patents will be limited or not provide the coverage originally sought, that our issued patents will not provide us with any competitive advantages, or that our patents and other intellectual property rights may be challenged by others or invalidated through administrative processes or litigation. In addition, issuance of a patent does not guarantee that we have an absolute right to practice the patented invention. As a result, we may not be able to obtain adequate patent protection or to enforce our issued patents effectively.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, legal action by us may be necessary to enforce our patents and other intellectual property rights, to protect our trade secrets, to determine the validity and scope of the intellectual property rights of others or to defend against claims of infringement or invalidity. Such litigation could result in substantial costs and diversion of resources and could negatively affect our business, operating results and financial condition. If we are unable to protect our intellectual property rights, we may find ourselves at a competitive disadvantage to others who need not incur the additional expense, time and effort required to create the innovative solutions that have enabled us to be successful to date.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Assertions by third parties of infringement or other violations by us of their intellectual property rights could result in significant costs and harm our business and operating results.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Patent and other intellectual property disputes are common in our industry. Some companies, including some of our competitors, own large numbers of patents, copyrights and trademarks, which they may use to assert claims against us. Third parties may in the future assert claims of infringement, misappropriation or other violations of intellectual property rights against us. They may also assert such claims against our customers or channel partners whom we typically indemnify against claims that our solutions infringe, misappropriate or otherwise violate the intellectual property rights of third parties. As the numbers of products and competitors in our market increase and overlaps occur, claims of infringement, misappropriation and other violations of intellectual property rights may increase. Any claim of infringement, misappropriation or other violation of intellectual property rights by a third party, even those without merit, could cause us to incur substantial costs defending against the claim and could distract our management from our business.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The patent portfolios of our most significant competitors are larger than ours. This disparity may increase the risk that they may sue us for patent infringement and may limit our ability to counterclaim for patent infringement or settle through patent cross-licenses. In addition, future assertions of patent rights by third parties, and any resulting litigation, may involve patent holding companies or other adverse patent owners who have no relevant product revenues and against whom our own patents may therefore provide little or no deterrence or protection. There can be no assurance that we will not be found to infringe or otherwise violate any third-party intellectual property rights or to have done so in the past.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">An adverse outcome of a dispute may require us to:</span></div><div style="margin-top:6pt;padding-left:63pt;text-align:justify;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">pay substantial damages, including treble damages, if we are found to have willfully infringed a third party&#8217;s patents or copyrights;</span></div><div style="margin-top:6pt;padding-left:63pt;text-align:justify;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">cease making, licensing or using solutions that are alleged to infringe or misappropriate the intellectual property of others;</span></div><div style="margin-top:6pt;padding-left:63pt;text-align:justify;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">expend additional development resources to attempt to redesign our solutions or otherwise develop non-infringing technology, which may not be successful;</span></div><div style="margin-top:6pt;padding-left:63pt;text-align:justify;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">enter into potentially unfavorable royalty or license agreements in order to obtain the right to use necessary technologies or intellectual property rights; and</span></div><div style="margin-top:6pt;padding-left:63pt;text-align:justify;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">indemnify our partners and other third parties.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, royalty or licensing agreements, if required or desirable, may be unavailable on terms acceptable to us, or at all, and may require significant royalty payments and other expenditures. Some licenses may also be non-exclusive, and therefore our competitors may have access to the same technology licensed to us. Any of the foregoing events could seriously harm our business, financial condition and results of operations.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Governmental export or import controls could subject us to liability if we violate them or limit our ability to compete in foreign markets.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our solutions are subject to U.S. export controls, specifically, the Export Administration Regulations and economic sanctions enforced by the Office of Foreign Assets Control. We incorporate encryption technology into certain of our solutions. These encryption solutions and the underlying technology may be exported only with the required export authorizations, including by license, a license exception or other appropriate government authorizations. U.S. export controls may require submission of an encryption registration, product classification and/or annual or semi-annual reports. Governmental regulation of encryption technology and regulation of imports or exports of encryption products, or our failure to obtain required import or export authorization for our solutions, when applicable, could harm our international sales and adversely affect our revenues. Compliance with applicable regulatory requirements regarding the export of our solutions, including with respect to new releases of our solutions, may create delays in the introduction of our solutions in international markets, prevent our customers with international operations from deploying our solutions throughout their globally-distributed systems or, in some cases, prevent the export of our solutions to some countries altogether. In addition, various countries regulate the import of our appliance-based solutions and have enacted laws that could limit our ability to distribute solutions or could limit our customers&#8217; ability to implement our solutions in those countries. Any new export or import restrictions, new legislation or shifting approaches in the enforcement or scope of existing regulations, or in the countries, persons or technologies targeted by such regulations, could result in decreased use of our solutions by existing customers with international operations, declining adoption of our solutions by new customers with international operations and decreased revenues. If we fail to comply with export and import regulations, we may be fined or other penalties could be imposed, including denial of certain export privileges.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we are required to collect higher sales and use or other taxes on the solutions we sell, we may be subject to liability for past sales and our future sales may decrease.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Taxing jurisdictions, including state and local entities, have differing rules and regulations governing sales and use or other taxes, and these rules and regulations are subject to varying interpretations that may change over time. In particular, the applicability of sales taxes to our subscription services in various jurisdictions is unclear. It is possible that we could face sales tax audits and that our liability for these taxes could exceed our estimates as tax authorities could still assert that we are obligated to collect additional amounts as taxes from our customers and remit those taxes to those authorities. We could also be subject to audits with respect to state and international jurisdictions for which we may not have accrued tax liabilities. A successful assertion that we should be collecting additional sales or other taxes on our services in jurisdictions where we have not historically done so and do not accrue for sales taxes could result in substantial tax liabilities for past sales, discourage customers from purchasing our solutions or otherwise harm our business and operating results.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Changes in our income tax provision or adverse outcomes resulting from examination of our income tax returns could adversely affect our operating results. We could be subject to additional taxes. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are subject to income taxes in the United States and various foreign jurisdictions, and our domestic and international tax liabilities are subject to the allocation of expenses in differing jurisdictions. Our tax rate is affected by changes in the mix of earnings and losses in countries with differing statutory tax rates, certain non-deductible expenses, excess tax benefits arising from stock-based compensation, other tax benefits and credits, and the valuation of deferred tax assets and liabilities. Increases in our effective tax rate could harm our operating results.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, significant judgment is required in evaluating our tax positions and our worldwide tax provisions. During the ordinary course of business, there are many activities and transactions for which the ultimate tax determination is uncertain. In addition, our tax obligations and effective tax rates could be adversely affected by changes in the relevant tax, accounting and other laws, regulations, principles and interpretations, including those relating to income tax nexus, by recognizing tax losses or lower than anticipated earnings in jurisdictions where we have lower statutory rates and higher than anticipated earnings in jurisdictions where we have higher statutory rates, by changes in foreign currency exchange rates, or by changes in the valuation of our deferred tax assets and liabilities. The Tax Cuts and Jobs Act of 2017 introduced a Base Erosion and Anti-Abuse Tax which imposes a minimum tax on adjusted income of corporations with average applicable gross receipt of at least $500 million for prior three tax years and that make certain payments to related foreign persons. While these rules do not impact our results of operations in the current year, these could impact our financial results in future periods. The Organization for Economic Cooperation and Development has issued model rules in connection with the Base Erosion and Profit Shifting integrated framework that determine multi-jurisdictional taxing rights (Pillar One) and the minimum rate of tax applicable to certain types of income (Pillar Two). Many countries have enacted legislation to apply the Pillar Two directive for tax years beginning in January 2024, which generally provides for a minimum effective tax rate of 15% on the income arising in each jurisdiction where the Company operates. We do not anticipate these rules to have an impact on our current year&#8217;s financial results. If applicable in the future, these could have an impact on our financial results, the extent of which is currently uncertain. We may be audited in various jurisdictions, and such jurisdictions may assess additional taxes, sales taxes and value-added taxes against us. Although we believe our tax estimates are reasonable, the final determination of any tax audits or litigation could be materially different from our historical tax provisions and accruals, which could have a material adverse effect on our operating results or cash flows in the period or periods for which a determination is made.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Related to Ownership of Our Common Stock</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Market volatility may affect our stock price and the value of an investment in our common stock and could subject us to litigation.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The trading price of our common stock has been, and may continue to be, subject to significant fluctuations in response to a number of factors, most of which we cannot predict or control, including:</span></div><div style="margin-top:6pt;padding-left:63pt;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">announcements of new solutions, services or technologies, commercial relationships, acquisitions or other events by us or our competitors;</span></div><div style="margin-top:6pt;padding-left:63pt;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">fluctuations in stock market prices and trading volumes of securities of similar companies;</span></div><div style="margin-top:6pt;padding-left:63pt;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">general market conditions and overall fluctuations in U.S. equity markets;</span></div><div style="margin-top:6pt;padding-left:63pt;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">variations in our operating results, or the operating results of our competitors;</span></div><div style="margin-top:6pt;padding-left:63pt;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">changes in our financial guidance or securities analysts&#8217; estimates of our financial performance;</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:6pt;padding-left:63pt;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">changes in accounting principles;</span></div><div style="margin-top:6pt;padding-left:63pt;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">sales of large blocks of our common stock, including sales by our executive officers, directors and significant stockholders;</span></div><div style="margin-top:6pt;padding-left:63pt;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">additions or departures of any of our key personnel;</span></div><div style="margin-top:6pt;padding-left:63pt;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">announcements related to litigation;</span></div><div style="margin-top:6pt;padding-left:63pt;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">changing legal or regulatory developments in the United States and other countries; and</span></div><div style="margin-top:6pt;padding-left:63pt;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">discussion of us or our stock price by the financial press and in online investor communities.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, the stock market in general, and the stocks of technology companies such as ours in particular, have experienced substantial price and volume volatility that is often seemingly unrelated to the operating performance of particular companies. These broad market fluctuations may cause the trading price of our common stock to decline. In the past, securities class action litigation has often been brought against a company after a period of volatility in the trading price of its common stock. We may become involved in this type of litigation in the future. Any securities litigation claims brought against us could result in substantial expenses and the diversion of our management&#8217;s attention from our business.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our actual operating results may differ significantly from our guidance.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, we have released, and may continue to release, guidance in our quarterly earnings conference calls, quarterly earnings releases, or otherwise, regarding our future performance that represents our management's estimates as of the date of release. This guidance, which includes forward-looking statements, has been and will be based on projections prepared by our management. These projections are not prepared with a view toward compliance with published guidelines of the American Institute of Certified Public Accountants, and neither our registered public accountants nor any other independent expert or outside party compiles or examines the projections. Accordingly, no such person expresses any opinion or any other form of assurance with respect to the projections.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Projections are based upon a number of assumptions and estimates that, while presented with numerical specificity, are inherently subject to significant business, economic and competitive uncertainties and contingencies, many of which are beyond our control and are based upon specific assumptions with respect to future business decisions, some of which will change. We intend to state possible outcomes as high and low ranges which are intended to provide a sensitivity analysis as variables are changed but are not intended to imply that actual results could not fall outside of the suggested ranges. The principal reason that we release guidance is to provide a basis for our management to discuss our business outlook with analysts and investors. We do not accept any responsibility for any projections or reports published by any such third parties.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Guidance is necessarily speculative in nature, and it can be expected that some or all of the assumptions underlying the guidance furnished by us will not materialize or will vary significantly from actual results. Accordingly, our guidance is only an estimate of what management believes is realizable as of the date of release. Actual results may vary from our guidance and the variations may be material. In light of the foregoing, investors are urged not to rely upon our guidance in making an investment decision regarding our common stock.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Any failure to successfully implement our operating strategy or the occurrence of any of the events or circumstances set forth in this &#8220;Risk Factors&#8221; section in this Annual Report on Form 10-K could result in our actual operating results being different from our guidance, and the differences may be adverse and material.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Future sales of shares by existing stockholders could cause our stock price to decline.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The market price of shares of our common stock could decline as a result of substantial sales of our common stock, particularly sales by our directors, executive officers, employees and significant stockholders, a large number of shares of our common stock becoming available for sale, or the perception in the market that holders of a large number of shares intend to sell their shares. As of December&#160;31, 2023, we had approximately </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36.9 million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> shares of our common stock outstanding.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, as of December&#160;31, 2023, there were approximately </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.4 million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> options and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.1 million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> restricted stock units outstanding. If such options are exercised and restricted stock units are released, these additional shares will become available for sale. As of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">we had an aggregate of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.8 million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> shares of our common stock reserved for future issuance under our Restated 2012 Equity Incentive Plan and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.5 million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> shares reserved for future purchase under our 2021 Employee Stock Purchase Plan, which can be freely sold in the public market upon issuance. If a large number of these shares are sold in the public market, the sales could reduce the trading price of our common stock.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We cannot guarantee that our share repurchase program will be fully consummated or that it will enhance stockholder value, and any share repurchases we make could affect the price of our common stock.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 12, 2018, we announced that our board of directors had authorized a $100.0 million repurchase program. On each of October 30, 2018, October 30, 2019, May 7, 2020, February 10, 2021 and February 9, 2023, we announced that our board of directors had authorized an increase of $100.0 million, and on each of November 3, 2021 and May 4, 2022, we announced that our board of directors had authorized an increase of $200.0 million to the share repurchase program. On February&#160;7, 2024 we announced that our board of directors had authorized an increase of $200.0 million to the share repurchase program, resulting in an aggregate authorization of $1.2 billion to date ($1.0 billion as of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Although our board of directors authorized the share repurchase program, we are not obligated to repurchase any specific dollar amount or to acquire any specific number of shares. The share repurchase program could affect the price of our common stock, increase volatility and diminish our cash reserves. In addition, it may be suspended or terminated at any time, which may result in a decrease in the price of our common stock. Finally, our share repurchases in 2023 were subject to a new 1% excise tax introduced in the Inflation Reduction Act. The amount of share repurchases subject to the excise tax are reduced by the fair market value of any shares issued during the taxable year. This provision does not currently, nor do we expect it to in the future, have a material impact to our results of operations. During the year ended </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023, w</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">e repurchased</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.3 million shares of our common stock for approximatel</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">y </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$170.8 million. As of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, approximately $83.7 million remained available for share repurchases pursuant to our share repurchase program.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We do not intend to pay dividends on our common stock and therefore any returns will be limited to the value of our stock.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have never declared or paid any cash dividend on our common stock. We currently anticipate that we will retain future earnings for the development, operation and expansion of our business and do not anticipate declaring or paying any cash dividends for the foreseeable future. Any return to stockholders will therefore be limited to the value of their stock.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Anti-takeover provisions in our charter documents and under Delaware law could make an acquisition of us, which may be beneficial to our stockholders, more difficult and may prevent attempts by our stockholders to replace or remove our current management.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our amended and restated certificate of incorporation and amended and restated bylaws contain provisions that may delay or prevent an acquisition of us or a change in our management. These provisions include:</span></div><div style="margin-top:6pt;padding-left:63pt;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">authorizing &#8220;blank check&#8221; preferred stock, which could be issued by our board of directors without stockholder approval and may contain voting, liquidation, dividend and other rights superior to our common stock, which would increase the number of outstanding shares and could thwart a takeover attempt;</span></div><div style="margin-top:6pt;padding-left:63pt;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">a classified board of directors whose members can only be dismissed for cause;</span></div><div style="margin-top:6pt;padding-left:63pt;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">the prohibition on actions by written consent of our stockholders;</span></div><div style="margin-top:6pt;padding-left:63pt;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">the limitation on who may call a special meeting of stockholders;</span></div><div style="margin-top:6pt;padding-left:63pt;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">the establishment of advance notice requirements for nominations for election to our board of directors or for proposing matters that can be acted upon at stockholder meetings; and</span></div><div style="margin-top:6pt;padding-left:63pt;text-indent:-31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">the requirement of at least two-thirds of the outstanding capital stock to amend any of the foregoing second through fifth provisions.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, because we are incorporated in Delaware, we are governed by the provisions of Section 203 of the Delaware General Corporation Law, which limits the ability of stockholders owning in excess of 15% of our outstanding voting stock to merge or combine with us. Although we believe these provisions collectively provide for an opportunity to obtain greater value for stockholders by requiring potential acquirers to negotiate with our board of directors, they would apply even if an offer rejected by our board of directors were considered beneficial by some stockholders. In addition, these provisions may frustrate or prevent any attempts by our stockholders to replace or remove our current management by making it more difficult for stockholders to replace members of our board of directors, which is responsible for appointing the members of our management.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">General Risk Factors</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Disruptive technologies could gain wide adoption and supplant our cloud-based IT, security and compliance solutions, thereby weakening our sales and harming our results of operations.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The introduction of products and services embodying new technologies could render our existing solutions obsolete or less attractive to customers. Our business could be harmed if new IT, security and compliance technologies are widely adopted. We may not be able to successfully anticipate or adapt to changing technology or customer requirements on a timely basis, or at all. If we fail to keep up with technological changes or to convince our customers and potential customers of the value of our solutions even in light of new technologies, our business could be harmed and our revenues may decline.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We may not maintain profitability in the future.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We may not be able to sustain or increase our growth or maintain profitability in the future. We plan to continue to invest in our infrastructure, new solutions, research and development and sales and marketing, and as a result, we cannot assure you that we will maintain profitability. We may incur losses in the future for a number of reasons, including without limitation, the other risks and uncertainties described in this Annual Report on Form 10-K. Additionally, we may encounter unforeseen operating expenses, difficulties, complications, delays and other unknown factors that may result in losses in future periods. If our revenue growth does not meet our expectations in future periods, our financial performance may be harmed and we may not again achieve or maintain profitability in the future.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Forecasts of market growth may prove to be inaccurate, and even if the markets in which we compete achieve the forecasted growth, there can be no assurance that our business will grow at similar rates, or at all.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Growth forecasts relating to the expected growth in the market for IT, security and compliance and other markets are subject to significant uncertainty and are based on assumptions and estimates which may prove to be inaccurate. Even if these markets experience the forecasted growth, we may not grow our business at similar rates, or at all. Our growth is subject to many factors, including our success in implementing our business strategy, which is subject to many risks and uncertainties. Accordingly, forecasts of market growth should not be taken as indicative of our future growth.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our financial results are based in part on our estimates or judgments relating to our critical accounting policies. These estimates or judgments may prove to be incorrect, which could harm our operating results and result in a decline in our stock price.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. We base our estimates on historical experience and on various other assumptions that we believe to be reasonable under the circumstances, as provided in the section titled &#8220;Part II, Item 7 - Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations,&#8221; the results of which form the basis for making judgments about the carrying values of assets, liabilities, equity, revenues and expenses that are not readily apparent from other sources. Our operating results may be adversely affected if our assumptions change or if actual circumstances differ from those in our assumptions, which could cause our operating results to fall below the expectations of securities analysts and investors, resulting in a decline in our stock price. Significant assumptions and estimates used in preparing our consolidated financial statements include those related to revenue recognition, accounting for income taxes and stock-based compensation.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Changes in financial accounting standards may cause adverse and unexpected revenue fluctuations and impact our reported results of operations.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We prepare our financial statements in accordance with U.S. GAAP. These principles are subject to interpretation by the SEC and various bodies formed to interpret and create appropriate accounting principles. A change in these accounting standards or practices could harm our operating results and could have a significant effect on our reporting of transactions and reported results and may even retroactively affect previously reported transactions. New accounting pronouncements and varying interpretations of accounting pronouncements have occurred and may occur in the future. Changes to existing rules or the questioning of current practices may harm our operating results or require that we make significant changes to our systems, processes and controls or the way we conduct our business.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we fail to maintain an effective system of internal control over financial reporting, our ability to produce timely and accurate financial statements or comply with applicable regulations could be impaired.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a public company, we are subject to the reporting requirements of the Securities Exchange Act of 1934, or the Exchange Act, the Sarbanes-Oxley Act of 2002, or the Sarbanes-Oxley Act, and the rules and regulations of the NASDAQ Stock Market. To continue to comply with the requirements of being a public company, we may need to undertake various actions, such as implementing additional internal controls and procedures and hiring additional accounting or internal audit staff.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements in accordance with U.S. GAAP. Our current controls and any new controls that we develop may become inadequate because of changes in conditions in our business. Any failure to maintain effective controls, or any difficulties encountered in their improvement, could harm our operating results or cause us to fail to meet our reporting obligations. Any failure to maintain effective internal control over financial reporting also could adversely affect the results of periodic management evaluations regarding the effectiveness of our internal control over financial reporting that we are required to include in our periodic reports we file with the SEC under Section 404 of the Sarbanes-Oxley Act. While we were able to assert in our Annual Report on Form 10-K that our internal control over financial reporting was effective as of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, we cannot predict the outcome of our testing in future periods. If we are unable to assert in any future reporting period that our internal control over financial reporting is effective (or if our independent registered public accounting firm is unable to express an opinion on the effectiveness of our internal controls), investors may lose confidence in our operating results and our stock price could decline. In addition, if we are unable to continue to meet these requirements, we may not be able to remain listed on the NASDAQ Stock Market.</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_25"></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 1B. &#160;&#160;&#160;&#160;Unresolved Staff Comments</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_432"></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 1C. &#160;&#160;&#160;&#160;Cybersecurity</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risk Management and Strategy</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have established an Information Security Management System (&#8220;ISMS&#8221;) comprised of policies, procedures, and processes for assessing, identifying, and managing material risks from cybersecurity threats, and have integrated these processes into our overall enterprise risk management systems and processes. Our ISMS is aligned to generally accepted security standards and is certified by third-party auditors according to ISO/IEC 27001 standards. We routinely assess cybersecurity risks for materiality, including assessing any potential unauthorized occurrence on or conducted through our information systems that may result in adverse effects on the confidentiality, integrity, or availability of our information systems or any information residing therein.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We routinely conduct risk assessments to identify cybersecurity threats and weaknesses, as well as risk assessments of events that could potentially materially change our business practices and affect our information systems that could be impacted by cybersecurity threats and vulnerabilities. These risk assessments include identification of reasonably foreseeable internal and external risks, the likelihood and potential damage that could result from such risks, and the sufficiency of existing policies, procedures, systems, and safeguards in place to manage such risks. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Following these risk assessments, we re-design, implement, and maintain reasonable safeguards to minimize identified risks; reasonably address any identified gaps in existing safeguards; and regularly monitor the effectiveness of our safeguards. We devote significant resources and designate high-level personnel, including our Chief Information Security Officer (&#8220;CISO&#8221;) who reports to our Chief Executive Officer, to manage the risk assessment and mitigation process.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of our overall risk management system, we monitor and test our safeguards and train our employees on these safeguards, in collaboration with human resources, IT, and management. Personnel at all levels and departments are made aware of our cybersecurity policies through periodic trainings.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have established a Computer Security Incident Response Team (&#8220;CSIRT&#8221;) that identifies security incidents, characterizes the nature and severity of incidents, and provides diagnostic and corrective actions when appropriate. The security measures the CSIRT employs are consistent with relevant requirements of the National Institute of Standards and Technology (&#8220;NIST&#8221;), Federal Risk and Authorization Management Program (&#8220;FedRAMP&#8221;), International Organization for Standardization (&#8220;ISO&#8221;), and Federal Information Security Management Act (&#8220;FISMA&#8221;). We have also adopted certain guidelines from NIST and the United States Computer Emergency Readiness Team.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our Incident Response Program and Plan describes the major phases of an incident management lifecycle which includes the preparation, detection and analysis, containment, eradication and recovery, and post-incident activity. Qualys' 24x7 Security Operations Center (&#8220;QSOC&#8221;) and CSIRT conduct Incident Response Plan testing and training on a periodic basis through tabletop exercises or simulated attack scenarios. This testing appraises our readiness to respond to such scenarios and tests the completeness and accuracy of the incident response plan. The QSOC and CSIRT teams drive these exercises to participants via various cyber security incident scenarios in the form of multiple injects. Exercise participants primarily consist of members from various Qualys departments such as security operations, IT operations, network operations, and other departments depending on the selected scenario.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We routinely evaluate the risks posed by third-party providers and engage with those whom fail to comply with our relevant contract requirements, or when we feel further action is needed to keep our risk levels within approved tolerance levels.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We engage assessors, consultants, auditors, and other third parties in order to obtain external validation for effectiveness and adequacy of our security posture in compliance with regulatory requirements. These service providers attest to our organization-wide design and implementation of cybersecurity policies and procedures, and annually monitor such policies and procedures from a safety perspective.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For additional information regarding whether any risks from cybersecurity threats have materially affected or are reasonably likely to materially affect our company, including our business strategy, results of operations, or financial condition, please refer to Item 1A, &#8220;Risk Factors,&#8221; in this annual report on Form 10-K, including the risk factor entitled &#8220;Our platform, website and internal systems may be subject to intentional disruption or other security incidents that could result in liability and adversely impact our reputation and future sales.&#8221; We have not currently encountered any cybersecurity threats that have materially impaired our operations or financial standing. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Governance</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our board of directors, with assistance from management, monitors and assesses strategic risk exposure, and our management team is responsible for the day-to-day management of the material risks we face. Our board of directors administers its cybersecurity risk oversight function directly as a whole, as well as through the Audit and Risk Committee of our board of directors (&#8220;Audit and Risk Committee&#8221;).</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our CISO and our Security Steering Committee, which includes members from management across all company functions such as security, IT, human resources, sales and marketing, engineering, legal, and finance, are primarily responsible for assessing and managing cybersecurity threats. Our CISO is a cybersecurity industry expert with over two decades of experience in cybersecurity, including work at multi-national technology companies and for a U.S. state government. He holds several industry certifications including CISSP, OSCP, CCSP, and GCFA and is also a graduate of the Carnegie Mellon University&#8217;s Chief Information Security Officer Executive Program. Our CEO is also a cybersecurity industry expert who has deep insight and over two decades of experience in cybersecurity, technology and information security.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our CISO and our Security Steering Committee, along with other senior executives including the CEO and CTO, review and manage our cybersecurity policies and processes, including those described in &#8220;Risk Management and Strategy&#8221; above. The processes by which our CISO is informed about and monitors the prevention, detection, mitigation, and remediation of cybersecurity incidents, include prompt communication from the CSIRT describing the severity and impact of the incident and status throughout the incident handling lifecycle and routine monitoring of key risk indicators.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our CISO provides briefings to the Audit and Risk Committee along with our CEO and other members of our senior management team, both on a quarterly basis via the Qualys Security Steering Committee and as needed, regarding our cybersecurity risks and activities, including, if any, critical and high impact cybersecurity incidents and related responses, cybersecurity systems testing, activities of third parties, and the emerging threat landscape. Our Audit and Risk Committee provides regular updates to the board of directors on such reports. In addition, our CISO and management team provide periodic briefings to the board of directors on cybersecurity risks and activities. Management is committed to notifying the Audit and Risk Committee, and the full Board in the event of a cyber incident that is confirmed to have a material effect on Qualys, or in the event that Qualys has identified a cyber risk that is likely to have a high probability of having a material impact on Qualys if not mitigated.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_28"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 2. &#160;&#160;&#160;&#160;Properties</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our principal executive offices are located in Foster City, California, where we occupy a 76,922 square-foot facility under a lease expiring on April&#160;30, 2028. We also have 281,787 square feet of office space in Pune, India under a non-cancellable lease expiring in February 2025. We have an additional U.S. office in North Carolina and other offices in France, United Arab Emirates and United Kingdom. We believe our facilities are adequate for our current needs and for the foreseeable future.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We operate shared cloud platforms at third-party facilities in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States, Canada, Switzerland, the Netherlands, United Arab Emirates, Australia, United Kingdom, Italy, the Kingdom of Saudi Arabia and India. Our shared cloud platform agreements have varying terms through 2027.</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_31"></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 3. &#160;&#160;&#160;&#160;Legal Proceedings</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time we may become involved in legal proceedings or be subject to claims arising in the ordinary course of our business. As of December&#160;31, 2023, there has not been at least a reasonable possibility that we have incurred a material loss from any ongoing legal proceedings, individually or taken together. However, litigation is inherently unpredictable and is subject to significant uncertainties, some of which are beyond our control. Should any of these estimates and assumptions change or prove to have been incorrect, we could incur significant charges related to legal matters which could have a material impact on its results of operations, financial position and cash flows. For more information, please refer to Note 9 in the accompanying notes to the consolidated financial statements, which is hereby incorporated by reference.</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_34"></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 4. &#160;&#160;&#160;&#160;Mine Safety Disclosures</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Not Applicable.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_37"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART II</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_40"></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 5. &#160;&#160;&#160;&#160;Market for Registrant's Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Market Information </span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our common stock is listed and traded on the NASDAQ Global Select Market under the symbol &#8220;QLYS&#8221;.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Holders of Record</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of February 12, 2024, there were approximately 48 holders of record of our common stock. Because many of our shares of common stock are held by brokers and other institutions on behalf of stockholders, we are unable to estimate the total number of stockholders represented by these record holders.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Dividend Policy</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have never declared or paid any cash dividends on our capital stock. We currently intend to retain any future earnings to fund business development and growth, and do not expect to pay any dividends in the foreseeable future. Any future determination to declare cash dividends will be made at the discretion of our board of directors, subject to applicable laws, and will depend on a number of factors, including our financial condition, results of operations, capital requirements, contractual restrictions, general business conditions and other factors that our board of directors may deem relevant.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock Price Performance Graph</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following graph shows a comparison from December 31, 2018 through December&#160;31, 2023 of the cumulative total return for an investment of $100 (and the reinvestment of dividends) in our common stock, the NASDAQ Global Select Market Composite Index and the NASDAQ Computer Index and the S&amp;P 500 Index. Such returns are based on historical results and are not intended to suggest future performance.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:center"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COMPARISON OF CUMULATIVE TOTAL RETURN*</span></div><div style="text-align:center"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Among Qualys, Inc., NASDAQ-Global Select Market Composite Index, and NASDAQ Computer Index and S&amp;P 500 Index</span></div><div style="margin-top:12pt;padding-left:9pt;text-align:justify;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:4pt">$100 invested on December 31, 2018 in stock or index, including reinvestment of dividends. Fiscal year ending December 31.</span></div><div style="margin-top:12pt;text-align:center"><img src="qlys-20231231_g2.jpg" alt="2546" style="height:380px;margin-bottom:5pt;vertical-align:text-bottom;width:613px"/></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:36.042%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.900%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.900%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.900%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.900%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.900%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.903%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2018</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2019</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Qualys, Inc.</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100.00&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">111.55&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">163.06&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">183.60&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">150.16&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">262.62&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">NASDAQ Global Select Market</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100.00&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">135.60&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">193.97&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">238.82&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">160.92&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">233.41&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">NASDAQ Computer</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100.00&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">150.34&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">225.48&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">310.84&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">199.64&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">322.34&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">S&amp;P 500</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100.00&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">131.49&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">155.68&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">200.37&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">164.08&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">207.21&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information on the above Stock Price Performance Graph shall not be deemed to be &#8220;filed&#8221; for purposes of Section 18 of the Securities Exchange Act of 1934, as amended, or otherwise subject to the liabilities of that section or Sections 11 and 12(a)(2) of the Securities Act of 1933, as amended, and shall not be incorporated by reference into any registration statement or other document filed by us with the SEC, whether made before or after the date of this Annual Report on Form 10-K, regardless of any general incorporation language in such filing, except as shall be expressly set forth by specific reference in such filing.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Purchases of Equity Securities by the Issuer and Affiliated Purchasers</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of our repurchases of common stock during the three months ended December&#160;31, 2023 is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:37.900%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.757%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.757%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.757%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.757%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:2.188%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Period</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total Number of Shares <br/>Purchased</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Average Price Paid per Share</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total Number of Shares <br/>Purchased as Part of Publicly <br/>Announced Plan or Program (1)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Approximate Dollar Value of <br/>Shares that May Yet Be<br/>&#160;Purchased under the Plan or <br/>Program</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">October 1, 2023 - October 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">76,000</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">156.94&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">76,000</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">94,828,514&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">November 1, 2023 - November 30, 2023</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49,112</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">171.10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49,112</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">86,425,300&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December 1, 2023 - December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,400</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">190.51&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,400</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">83,681,929&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">139,512</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">139,512</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 12, 2018, we announced that our board of directors authorized a $100.0 million share repurchase program. On each of October 30, 2018, October 30, 2019, May 7, 2020, February 10, 2021 and February 9, 2023, we announced that our board of directors had authorized an increase of $100.0 million, and on each of November 3, 2021 and May 4, 2022, we announced that our board of directors had authorized an increase of $200.0 million to the share repurchase program, resulting in an aggregate authorization of $1.0 billion as of December&#160;31, 2023. Shares may be repurchased from time to time on the open market in accordance with Rule 10b-18 of the Exchange Act of 1934. We have entered into a pre-set trading plan adopted in accordance with Rule 10b5-1 under the Exchange Act to effect repurchases under our share repurchase program. All share repurchases have been made using cash resources. Our share repurchase program does not have an expiration date.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2) Does not reflect the </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$200.0 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> increase to our share repurchase program announced on February&#160;7, 2024.</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_43"></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 6. &#160;&#160;&#160;&#160;[RESERVED]</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_46"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 7. &#160;&#160;&#160;&#160;Management's Discussion and Analysis of Financial Condition and Results of Operations</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">You should read the following discussion in conjunction with our consolidated financial statements and the related notes included elsewhere in this Annual Report on Form 10-K. You should carefully review and consider the information regarding our financial condition and results of operations set forth under Part II-Item 7 (Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations) in our Annual Report on Form 10-K for the fiscal year ended December&#160;31, 2022, filed with the SEC on February 23, 2023, for an understanding of our results of operations and liquidity discussions and analysis comparing fiscal year 2022 to fiscal year 2021, which information is hereby incorporated by reference. In addition to historical information, this discussion contains forward-looking statements that involve risks and uncertainties that could cause our actual results to differ materially from our expectations, as discussed in "Forward-Looking Statements" in Part I of this Annual Report on Form 10-K. Factors that could cause such differences include, but are not limited to, those described in the section titled "Risk Factors" and elsewhere in this Annual Report on Form 10-K.</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_49"></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Overview</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are a pioneer and leading provider of a cloud-based platform delivering information technology (IT), security and compliance solutions that enable organizations to identify security risks to their IT infrastructures, help protect their IT systems and applications from ever-evolving cyber-attacks and achieve compliance with internal policies and external regulations. Our cloud platform address the growing security and compliance complexities and risks that are amplified by the dissolving boundaries between IT infrastructures and web environments, the rapid adoption of cloud computing, containers and serverless IT models, and the proliferation of geographically dispersed IT assets. Our integrated suite of IT, security and compliance solutions delivered on Qualys' Enterprise TruRisk Platform enables our customers to identify and manage their IT and operational technology (OT) assets, collect and analyze large amounts of IT security data, discover and prioritize vulnerabilities, quantify cyber risk exposure, recommend and implement remediation actions and verify the implementation of such actions. Organizations use our integrated suite of solutions to cost-effectively obtain a unified view of their internal and external IT and OT asset inventory as well as security and compliance posture across globally-distributed IT infrastructures as our solution offers a single platform for information technology, information security, application security, endpoint, developer security and cloud teams.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We were founded and incorporated in December 1999 with a vision of transforming the way organizations secure and protect their IT infrastructure and applications and initially launched our first cloud solution, Vulnerability Management (VM), in 2000. As VM gained acceptance, we introduced additional solutions to help customers manage increasing IT, security and compliance requirements. Today, the suite of solutions that we offer on our cloud platform and refer to as the Qualys Cloud Apps help our customers detect, measure, prioritize and remediate cyber risk spanning a range of assets across on-premises, endpoints, cloud, containers, and mobile environments.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We provide our solutions through a software-as-a-service model, primarily with renewable annual subscriptions. These subscriptions require customers to pay a fee in order to access each of our cloud solutions. We generally invoice our customers for the entire subscription amount at the start of the subscription term, and the invoiced amounts are treated as deferred revenues and are recognized ratably over the term of each subscription. We continue to experience revenue growth from our existing customers as they renew and purchase additional subscriptions, as well as from the addition of new customers to our cloud platform.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We market and sell our solutions to enterprises, government entities and small and medium-sized businesses across a broad range of industries, including education, financial services, government, healthcare, insurance, manufacturing, media, retail, technology and utilities. In 2023, 2022 and 2021, 60%, 60% and 61%, respectively, of our revenues were derived from customers in the United States based on our customers' billing addresses. We sell our solutions to enterprises and government entities primarily through our field sales force and to small and medium-sized businesses through our inside sales force. We generate a significant portion of sales through our channel partners, including managed security service providers, leading cloud providers, value-added resellers and consulting firms in the United States and internationally.</span></div><div style="margin-top:12pt;padding-left:13.5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Impacts of Current Macroeconomic Environment</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The uncertainty surrounding macroeconomic factors in the U.S. and globally characterized by the supply chain environment, inflationary pressure, rising interest rates, financial institution failures and associated uncertainty, labor shortages, significant volatility of global markets, reduced spending and extended sales cycles, and geopolitical conflicts could have a material adverse effect on our long-term business and could lead to further economic disruption and expose us to greater risk as our current and potential customers may reduce or eliminate their overall spending on IT security. We will continue to evaluate the nature and extent of the impact to our business, financial position, results of operations and cash flows.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_52"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Key Components of Results of Operations</span></div><div style="margin-top:12pt;padding-left:13.5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenues</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We derive revenues from the sale of subscriptions to our IT, security and compliance solutions, which are delivered on our cloud platform. Subscriptions to our solutions allow customers to access our cloud-based IT, security and compliance solutions through a unified, web-based interface. Customers generally enter into one-year renewable subscriptions. The subscription fee entitles the customer to an unlimited number of scans for a specified number of devices or web applications and, if requested by a customer as part of their subscription, a specified number of physical or virtual scanner appliances. Our physical and virtual scanner appliances are requested by certain customers as part of their subscriptions in order to scan IT infrastructures within their firewalls and do not function without, and are not sold separately from, subscriptions for our solutions. In some cases, we also provide certain computer equipment used to extend our cloud platform into our customers' private cloud environment. Customers are required to return physical scanner appliances and computer equipment if they do not renew their subscriptions.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We typically invoice our customers for the entire subscription amount at the start of the subscription term. Invoiced amounts are reflected on our consolidated balance sheets as accounts receivable or as cash when collected, and as deferred revenues until earned and recognized ratably over the subscription period. Accordingly, deferred revenues represent the amount billed to customers that has not yet been earned or recognized as revenues, pursuant to subscriptions entered into in current and prior periods.</span></div><div style="margin-top:12pt;padding-left:13.5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cost of Revenues</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenues consists primarily of personnel expenses, comprised of salaries, benefits, performance-based compensation and stock-based compensation, for employees who operate our shared cloud platforms and provide support services to our customers. Other expenses include depreciation of shared cloud platform equipment, physical scanner appliances and computer hardware provided to certain customers as part of their subscriptions, expenses related to the use of shared cloud platforms, amortization of software and license fees, amortization of intangibles related to acquisitions, maintenance support, fees paid to contractors who supplement or support our operations center personnel and overhead allocations. We expect to continue to expand our shared cloud platform infrastructures and hire additional employees to support our operations, which will increase the cost of revenues in absolute dollars.</span></div><div style="margin-top:12pt;padding-left:13.5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Operating Expenses</span></div><div style="margin-top:12pt;padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Research and Development</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development expenses consist primarily of personnel expenses, comprised of salaries, benefits, performance-based compensation and stock-based compensation, for our research and development teams. Other expenses include third-party contractor fees, software and license fees, amortization of intangibles related to acquisitions and overhead allocations. We expect to continue to devote resources to research and development in an effort to continuously improve our existing solutions as well as develop new solutions and capabilities and expect that research and development expenses will increase in absolute dollars.</span></div><div style="margin-top:12pt;padding-left:13.48pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Sales and Marketing</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing expenses consist primarily of personnel expenses, comprised of salaries, benefits, sales commissions, performance-based compensation and stock-based compensation for our worldwide sales and marketing teams. Other expenses include marketing and promotional events, lead-generation marketing programs, public relations, travel, software licenses and overhead allocations. Sales commissions related to new business and upsells are capitalized as an asset. We amortize the capitalized commission cost as a selling expense on a straight-line basis over a period of five years. We expense sales commissions related to contract renewals as incurred. Our new sales personnel are typically not immediately productive, and the resulting increase in sales and marketing expenses we incur when we add new personnel may not result in increased revenues if these new sales personnel fail to become productive. The timing of our hiring of sales personnel, or the participation in new marketing events or programs, and the rate at which these generate incremental revenues, may affect our future operating results. We expect to continue to invest in additional sales personnel worldwide and also in more marketing programs to support new solutions on our platform, which will increase sales and marketing expenses in absolute dollars.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">44</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">General and Administrative</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative expenses consist primarily of personnel expenses, comprised of salaries, benefits, performance-based compensation and stock-based compensation for our executive, finance and accounting, IT, legal and human resources teams, as well as professional services, fees, software licenses and overhead allocations. We expect that general and administrative expenses will increase in absolute dollars, as we continue to add personnel and incur professional services to support our growth and compliance with legal requirements.</span></div><div style="margin-top:12pt;padding-left:13.5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Other Income (Expense), Net</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our other income (expense), net consists primarily of interest and returns from our short-term and long-term marketable securities, non-marketable securities gains and losses, and foreign exchange gains and losses.</span></div><div style="margin-top:12pt;padding-left:13.5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Tax Provision</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are subject to federal, state and foreign income taxes for jurisdictions in which we operate, and we use estimates in determining our income tax provision and deferred tax assets. Earnings from our non-U.S. activities are subject to income taxes in the local countries at rates which are generally similar to the U.S. statutory tax rate. We regularly assess the realizability of our net deferred tax assets. As of December 31, 2023, valuation allowances remain in certain jurisdictions where we believe it is necessary to see further positive evidence, such as sustained achievement of sufficient profits to meet a more likely than not stance that the valuation allowance should be reversed. If additional positive evidence becomes available in the foreseeable future, we may release all or a portion of the valuation allowance. The exact timing and amount of the valuation allowance release is subject to change based on the level of profitability achieved in future periods. Release of the valuation allowance would result in the recognition of deferred tax assets and a corresponding decrease to income tax expense in the period the release is recorded.</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_55"></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Results of Operations</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth selected consolidated statements of operations data for each of the periods presented as a percentage of revenues:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:73.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.330%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenues</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross profit</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">81&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">79&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating expenses:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total operating expenses</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">52&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">52&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income from operations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total other income, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income before income taxes</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income tax provision</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_58"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Comparison of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Years Ended December&#160;31, 2023 and 2022</span></div><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenues</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:47.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended<br/>December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">%</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except percentages)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">554,458&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">489,723&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">64,735&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues increased by </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$64.7 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in 2023 compared to 2022, driven by increased demand for our subscription services by our end customers. Of the total increase of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$64.7 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in revenues, 80% was from customers existing at or prior to December&#160;31, 2022, and the remaining 20% was from new customers added in 2023. Of the total increase of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$64.7 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 62% was from customers in the United States and the remaining 38% was from customers in foreign countries. In 2023, 57% of total revenues were direct and 43% of total revenues were through partners. Of the total increase of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$64.7 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 46% was direct and the remaining 54% was from partners. With our strong market position driving further demand for our solutions, we expect revenue growth from new and existing customers to continue.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cost of Revenues</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:47.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended<br/>December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">%</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except percentages)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenues</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">107,485&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">102,788&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,697&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenues increased by </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$4.7 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in 2023 compared to 2022, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">due to an increase in personnel costs, including stock-based compensation, of $5.1 million, driven by additional employees hired to support the growth of our business, an increase in shared cloud platform cost of $4.8 million, and an increase in subscribed license and software costs of $1.5 million, partially offset by a decrease in depreciation and amortization expense of $6.7 million resulting from our assets becoming fully depreciated or amortized.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Research and Development Expenses</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:47.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended<br/>December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">%</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except percentages)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">110,472&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">101,186&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,286&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> expenses increased by $9.3 million in 2023 compared to 2022, due to an increase in personnel costs, including stock-based compensation, of $11.4 million, driven by increased headcount, annual merit increases for eligible employees and refresh grants to eligible employees, partially offset by a decrease in professional service expense of $1.2 million, and a decrease in depreciation and amortization expense in property and equipment of $0.9 million.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">46</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Sales and Marketing Expenses</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:47.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended<br/>December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">%</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except percentages)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">111,691&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">97,221&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,470&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> expenses increased by $14.5 million in 2023 compared to 2022, due to an increase in personnel costs, including stock-based compensation, of $13.6 million, driven by increased headcount, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">an increase in travel and entertainment cost of $1.5 million associated with increased in-person sales meetings and marketing events, and an increase in subscribed license and software costs of $0.7 million, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">partially offset by </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a decrease in professional service expense of $1.3 million.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">General and Administrative Expenses</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:47.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended<br/>December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">%</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except percentages)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61,741&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">57,981&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,760&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> expenses increased by $3.8 million in 2023 compared to 2022, due to an increase in personnel costs, including stock-based compensation of $5.7 million, driven by increased headcount, annual merit increases for eligible employees and refresh grants to eligible employees and executives, and an increase in subscribed license and software cost of $0.8 million, partially offset by a decrease in professional service expense of $1.4 million, and a decrease in legal expense of $1.3 million.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Total other income, net</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:47.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended<br/>December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">%</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except percentages)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total other income, net</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,582&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,153&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,429&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">394&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total other income, net</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> increased by $12.4 million in 2023 compared to 2022, due to an increase in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">interest income of $11.7 million driven by an increase of market interest rates, in addition to a $1.2 million decrease in foreign currency loss, partially offset by an unrealized loss of $0.5 million on a non-marketable equity security.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income tax provision</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:47.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended<br/>December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">%</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except percentages)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income tax provision</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,056&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,708&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,348&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On July 21, 2023, the IRS issued a rule change allowing taxpayers to temporarily apply the regulations in effect prior to 2022 related to U.S. federal foreign tax credits to foreign taxes paid or accrued in years 2022 and 2023. Additionally, on September 8, 2023, the IRS issued interim guidance on the capitalization and amortization of research and development expenses. A cumulative tax benefit applicable to prior periods for the rule change and the guidance was recorded in 2023, which reduced the effective tax rate in 2023 compared to 2022. On December 11, 2023, the IRS extended the temporary relief for U.S. Federal foreign tax credit until further guidance, which is expected to provide similar tax benefits in future tax years.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income tax provision increased by </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$1.3 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in 2023 compared to 2022, primarily due to an increase in pretax income and a decrease in excess tax benefits arising from stock-based compensation compared to the same period in 2022. The increase was partially offset by higher foreign tax credits and lower net capitalization of research and development expenses for tax purposes than previously estimated, reflecting the rule change and the guidance.</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_61"></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Key Operating and Non-GAAP Financial Performance Metrics</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition to measures of financial performance presented in our consolidated financial statements, we monitor the key metrics set forth below to help us evaluate growth trends, establish budgets, measure the effectiveness of our sales and marketing efforts and assess operational efficiencies.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Net Dollar Expansion Rate</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We evaluate our ability to retain and grow existing customers by assessing our net dollar expansion rate on a last twelve months, or LTM, basis. This metric is used to appropriately manage resources and customer retention and expansion. We calculate the net dollar expansion rate on a foreign exchange neutral basis by dividing a numerator by a denominator, each defined as follows:</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Denominator: To calculate our net dollar expansion rate as of the end of a reporting period, we first determine the annual recurring revenue, or ARR, from all active subscriptions as of the last day of the same reporting period in the prior year. This represents recurring payments that we expect to receive in the next 12-month period from the cohort of customers that existed on the last day of the same reporting period in the prior year.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Numerator: We measure the ARR for that same cohort of customers representing all active subscriptions as of the end of the reporting period, using the same foreign exchange rate from the prior year.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our net dollar expansion rates were 105% and 109% for the years ended December&#160;31, 2023 and 2022, respectively.</span></div><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Adjusted EBITDA</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We monitor Adjusted EBITDA, a non-GAAP financial measure, to analyze our financial results and believe that it is useful to investors, as a supplement to U.S. GAAP measures, in evaluating our ongoing operational performance and enhancing an overall understanding of our past financial performance. We believe that Adjusted EBITDA helps illustrate underlying trends in our business that could otherwise be masked by the effect of the income or expenses that we exclude in Adjusted EBITDA. Furthermore, we use this measure to establish budgets and operational goals for managing our business and evaluating our performance. We also believe that Adjusted EBITDA provides an additional tool for investors to use in comparing our recurring core business operating results over multiple periods with other companies in our industry.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">48</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Adjusted EBITDA should not be considered in isolation from, or as a substitute for, financial information prepared in accordance with U.S. GAAP. We calculate Adjusted EBITDA as net income before (1) other (income) expense, net, which includes interest income, interest expense and other income and expense, (2) income tax provision (benefit), (3) depreciation and amortization of property and equipment, (4) amortization of intangible assets, (5) stock-based compensation and (6) non-recurring expenses that do not reflect ongoing costs of operating the business. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Adjusted EBITDA has limitations as an analytical tool and should not be considered in isolation from or as a substitute for the measures presented in accordance with U.S. GAAP. Some of these limitations are:</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Adjusted EBITDA does not reflect certain cash and non-cash charges that are recurring;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Adjusted EBITDA does not reflect income tax payments that reduce cash available to us;</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Adjusted EBITDA excludes depreciation and amortization of property and equipment and amortization of intangible assets, although these are non-cash charges, the assets being depreciated and amortized may have to be replaced in the future; and</span></div><div style="margin-top:6pt;padding-left:40.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Other companies, including companies in our industry, may calculate Adjusted EBITDA differently or not at all, which reduces its usefulness as a comparative measure.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because of these limitations, Adjusted EBITDA should be considered alongside other financial performance measures, including revenues, net income, cash flows from operating activities and our financial results presented in accordance with U.S. GAAP. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following unaudited table presents the reconciliation of net income to Adjusted EBITDA for the years ended December&#160;31, 2023 and 2022.</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:73.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.330%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">151,595&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">107,992&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income as a percentage of revenues</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation and amortization of property and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23,904&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,936&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization of intangible assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,087&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,686&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income tax provision</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,056&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,708&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">69,079&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53,408&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total other income, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(15,582)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,153)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Adjusted EBITDA</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">259,139&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">218,577&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Adjusted EBITDA as a percentage of revenues</span></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr></table></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_64"></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Liquidity and Capital Resources</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, our principal source of liquidity was cash, cash equivalents and marketable securities of $482.2 million, including $94.8 million of cash held outside of the United States. The following summary of cash flows for the periods indicated have been derived from our consolidated financial statements included elsewhere in this report:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:73.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.330%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash provided by operating activities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">244,605&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">198,854&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash (used in) provided by investing activities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(73,166)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">145,068&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash used in financing activities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(141,493)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(306,031)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net increase in cash, cash equivalents and restricted cash</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29,946&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,891&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Operating Activities</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2023, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">we generated </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$226.4 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of cash from our net income, as adjusted for non-cash items mainly related to stock-based compensation expense, depreciation and amortization expense and deferred taxes, as compared to </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$177.2 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in 2022. In addition, we also generated </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$18.2 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of cash from working capital change in 2023, of which </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$22.7 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> was related to a net increase in deferred revenue and accounts receivable due to the growth in billing and the timing of collections, partially offset by a </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$1.1 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> decrease in payables and accrued liabilities and a $3.4 million increase in prepaid expenses primarily driven by the timing of payments. In 2022, we generated $177.2 million of cash from our net income, as adjusted for non-cash items mainly related to stock-based compensation expense, depreciation and amortization expense and deferred taxes, as compared to $169.6 million in 2021. In addition, we also generated $21.7 million of cash from working capital change in 2022, of which $11.8 million was related to a net increase in deferred revenue and accounts receivable as a result of our continued growth in billing and the timing of collections, and $9.9 million was due to lower prepaid expenses and an increase in payables and accrued liabilities primarily due to timing of payments.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Investing Activities</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2023, we used </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$64.4 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of cash for purchases of marketable securities net of sales and maturities, and used </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$8.8 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of cash in capital expenditures mainly related to computer equipment to support our growth and development, as compared to $169.0 million of cash generated from net sales and maturities of our marketable securities, $15.4 million of cash used in capital expenditures mainly related to computer equipment to support our growth and development and $8.6 million of cash used to acquire certain technology assets in 2022.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Financing Activities</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2023, we used </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$170.8 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of cash for share repurchase and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$22.3 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of cash in payment of employee withholding taxes upon vesting of restricted stock units, partially offset by </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$45.6 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of proceeds from employee exercise of stock options and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$6.1 million </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of proceeds from issuance of common stock through our employee stock purchase plan ("ESPP"), as compared to $317.3 million of cash used for share repurchase and $17.6 million of cash in payment of employee withholding taxes upon vesting of restricted stock units, partially offset by $24.5 million of proceeds from employee exercise of stock options and $4.4 million of proceeds from issuance of common stock through our ESPP in 2022. </span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Material Cash Requirements</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe our existing cash and cash equivalents, marketable securities and our expected cash flow generated from operations will be sufficient to fund our operations for the next twelve months and beyond. If we repatriate funds from our foreign subsidiaries, we could be subject to foreign withholding taxes.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our material cash requirements mainly include the following contractual and other obligations:</span></div><div style="margin-top:12pt;padding-left:63pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Our operating lease obligations to make payments under our non-cancelable lease agreements for our facilities and shared cloud platforms. We had fixed operating lease payment obligations of $31.1 million as of December&#160;31, 2023, with $13.1 million expected to be paid within the next 12 months.</span></div><div style="padding-left:63pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Cash outflow for capital expenditures in 2024 is expected to be in a range of $15.0 million to $20.0 million. Our future capital requirements will depend on many factors, including our rate of revenue growth, the expansion of our sales and marketing activities, the timing, type and extent of our spending on research and development efforts, international expansion and investment in shared cloud platforms and cloud infrastructures. We may also seek to invest in or acquire complementary businesses or technologies.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="padding-left:63pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Other non-cancelable purchase obligations related to cloud infrastructures and other service providers </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">totaled $70.6 million, of which $29.7 million is expected to be paid with</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">in the next 12 months.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Share Repurchases</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We expect to continue to use cash to repurchase shares in 2024 under our share repurchase program authorized by our board of directors on February 5, 2018. As of December&#160;31, 2023, our board of directors had authorized an aggregate amount of $1.0&#160;billion for repurchases under our share repurchase program, of which approximately $83.7 million remained available. Shares will be repurchased from time to time in the open market in accordance with Rule 10b-18 of the Exchange Act of 1934, including pursuant to a pre-set trading plan adopted in accordance with Rule 10b5-1 under the Exchange Act.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">50</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February&#160;7, 2024, we announced that our Board of Directors authorized an additional $200.0 million under the share repurchase program, increasing the total amount of authorized repurchase to $1.2 billion.</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_67"></div><div style="margin-top:12pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Critical Accounting Estimates</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of our consolidated financial statements in accordance with U.S. GAAP requires us to make estimates and assumptions that affect the reported amounts of assets, liabilities, revenues, expenses and related disclosures. Our significant accounting policies are described in Note 1 - The Company and Summary of Significant Accounting Policies in the accompanying notes to the consolidated financial statements included in Part II, Item 8, "Financial Statements and Supplementary Data" of this Annual Report on Form 10-K. On an ongoing basis, we evaluate our estimates and assumptions based on historical and anticipated results and trends that we believe represent our best estimate under the circumstances. However, as accounting estimates are subject to inherent uncertainty, our actual results may differ from these estimates under different assumptions or conditions.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant assumptions, judgments and estimates are involved in determining our provision for (benefit from) income taxes, our deferred tax assets and liabilities, and any valuation allowance to be recorded against our deferred tax assets. Our judgments, assumptions and estimates relating to the current provision for income taxes include the geographic mix and amount of income (loss), expectations of future income, our interpretation of current tax laws, our business, and possible outcomes of current and future audits conducted by foreign and domestic tax authorities. Our judgments also include anticipating the tax positions we will record in the financial statements before preparing and filing the tax returns. Our estimates and assumptions may differ from the actual results as reflected in our income tax returns and we record the required adjustments when they are identified or resolved. Changes in our business and tax laws or our interpretation of those, and developments in current and future tax audits, could significantly impact the amounts provided for income taxes in our results of operations, financial position, or cash flows.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The assessment of tax effects of our uncertain tax positions in our financial statements involves significant judgment in interpreting complex and ambiguous tax laws, regulations, and administrative practices, determining the probability of various possible settlement outcomes, evaluating the litigation process based on tax authority behaviors in similar cases, and estimating the likelihood that another taxing authority could review the respective tax position. These judgments are inherently challenging and subjective because a taxing authority may change its behavior at any time. We must also determine when it is reasonably possible that the amount of unrecognized tax benefits will significantly increase or decrease in the 12 months after each fiscal year-end. We reevaluate our income tax positions on a quarterly basis to consider factors such as changes in facts or circumstances, changes in tax laws, effectively settled issues under audit, the potential for interest and penalties, and new audit activity. Such a change in recognition or measurement would result in recognition of a tax benefit or an additional charge to the tax provision that could be material in the future.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-Based Compensation</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize the fair value of our employee stock options and restricted stock units, including performance-based restricted stock units, over the requisite service period. The fair value of each stock option is estimated on date of grant using the Black-Scholes-Merton option pricing model. Determining the appropriate fair value model and calculating the fair value of employee stock options requires the use of subjective assumptions, including the expected life of the stock option and stock price volatility. The recognition of expenses for performance based restricted stock units requires us to estimate the probability that the performance condition will be achieved and the number of awards that will vest are adjusted accordingly at each reporting period. The assumptions used in calculating the fair value of employee stock options and estimating the probability of achievement of performance metrics represent management&#8217;s best estimates, which require significant judgment and involve inherent uncertainties. If factors change and we use different assumptions, our stock-based compensation expense could be materially different in the future.</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_70"></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 7A. &#160;&#160;&#160;&#160;Quantitative and Qualitative Disclosures about Market Risk</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have domestic and international operations and we are exposed to market risks in the ordinary course of our business. These risks primarily include interest rate, foreign exchange and inflation risks, as well as risks relating to changes in the general economic conditions in the countries where we conduct business. To reduce certain of these risks, we monitor the financial condition of our large customers and limit credit exposure by collecting subscription fees in advance.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">51</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Foreign Currency Risk</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our results of operations and cash flows have been and will continue to be subject to fluctuations because of changes in foreign currency exchange rates, particularly changes in exchange rates between the U.S. Dollar and the EUR, GBP, INR and Canadian Dollar ("C$" or "</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CAD")</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, the currencies of countries where we currently have our most significant international operations. We enter into foreign currency forward contracts to reduce our exposure to foreign currency exchange rate fluctuations related to forecasted subscription revenue, operating expenses and foreign currency denominated assets or liabilities. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, we had designated cash flow hedge forward contracts with notional amounts of &#8364;48.5 million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#163;14.6 million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and Rs.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,042.0 million and non-designated forward contracts with notional amounts of &#8364;19.2 million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#163;6.0 million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, Rs.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">440.0 million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and C</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$1.0 million. With our hedging strategy applied, the effect of an immediate 10% adverse change in foreign exchange rates would not be material to our financial condition, operating results or cash flows.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Interest Rate Sensitivity</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We had </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$482.2 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in cash, cash equivalents and short-term and long-term marketable securities as of December&#160;31, 2023. Our exposure to market risk for changes in interest rates primarily relates to our cash and cash equivalents and marketable securities. Our cash equivalents and marketable securities are held in money market funds, fixed-income U.S. Treasury and government agency securities, commercial paper, corporate bonds and asset-backed securities. The primary objectives of our investment activities are the preservation of principal and support of our liquidity requirements. We do not invest for trading or speculative purposes. Our marketable securities a</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">re subject to market risk due to changes in interest rates, which may affect the interest income we earn and the fair market value. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, a hypothetical 100 basis point increase in interest rate would result in a decrease in the fair value of our marketable securities by</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> $1.4 million.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">52</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_73"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 8. &#160;&#160;&#160;&#160;Financial Statements and Supplementary Data</span></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Qualys, Inc.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">INDEX TO CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Table of Contents</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:89.328%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.472%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Page</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_76">Reports of Independent Registered Public Accounting Firm (PCAOB ID Number </a><ix:nonNumeric contextRef="c-1" name="dei:AuditorFirmId" id="f-36">248</ix:nonNumeric><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_76">)</a></span></div></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_76">54</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_79">Consolidated Balance Sheets</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_79">56</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_82">Consolidated Statements of Operations</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_82">57</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_85">Consolidated Statements of Comprehensive Income</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_85">58</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_88">Consolidated Statements of Cash Flows</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_88">59</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_91">Consolidated Statements of Stockholders' Equity</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_91">60</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_94">Notes to Consolidated Financial Statements</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_94">61</a></span></div></td></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_76"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:center"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</span></div><div style="margin-top:12pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Board of Directors and Stockholders</span></div><div style="margin-top:12pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Qualys, Inc.</span></div><div style="margin-top:12pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Opinion on the financial statements </span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have audited the accompanying consolidated balance sheets of Qualys, Inc. (a Delaware corporation) and subsidiaries (the &#8220;Company&#8221;) as of December&#160;31, 2023 and 2022, the related consolidated statements of operations, comprehensive income, stockholders&#8217; equity, and cash flows for each of the three years in the period ended December&#160;31, 2023, and the related notes (collectively referred to as the &#8220;financial statements&#8221;). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December&#160;31, 2023 and 2022, and the results of its operations and its cash flows for each of the three years in the period ended December&#160;31, 2023, in conformity with accounting principles generally accepted in the United States of America.</span></div><div style="margin-top:12pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (&#8220;PCAOB&#8221;), the Company&#8217;s internal control over financial reporting as of December&#160;31, 2023, based on criteria established in the 2013 Internal Control&#8212;Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (&#8220;COSO&#8221;), and our report dated February&#160;22, 2024, expressed an unqualified opinion.</span></div><div><span><br/></span></div><div><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis for opinion </span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">These financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;s financial statements based on our audits. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Critical audit matters</span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Critical audit matters are matters arising from the current period audit of the financial statements that were communicated or required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgments. We determined that there are no critical audit matters.</span></div><div style="margin-top:12pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">/s/ <ix:nonNumeric contextRef="c-1" name="dei:AuditorName" id="f-37">GRANT THORNTON LLP</ix:nonNumeric></span></div><div style="margin-top:12pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have served as the Company&#8217;s auditor since 2005.</span></div><div style="margin-top:12pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:AuditorLocation" id="f-38">San Jose, California</ix:nonNumeric></span></div><div><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February&#160;22, 2024</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:center"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Report of Independent Registered Public Accounting Firm</span></div><div style="margin-top:24pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Board of Directors and Stockholders</span></div><div style="margin-top:12pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Qualys, Inc.</span></div><div style="margin-top:12pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Opinion on internal control over financial reporting</span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have audited the internal control over financial reporting of Qualys, Inc. (a Delaware corporation) and subsidiaries (the &#8220;Company&#8221;) as of December&#160;31, 2023, based on criteria established in the 2013 Internal Control&#8212;Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (&#8220;COSO&#8221;). In our opinion, the Company maintained, in all material respects, effective internal control over financial reporting as of December&#160;31, 2023, based on criteria established in the 2013 Internal Control&#8212;Integrated Framework issued by COSO.</span></div><div style="margin-top:12pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (&#8220;PCAOB&#8221;), the consolidated financial statements of the Company as of and for the year ended December&#160;31, 2023, and our report dated February&#160;22, 2024 expressed an unqualified opinion on those financial statements.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis for opinion</span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s management is responsible for maintaining effective internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting, included in the accompanying Management&#8217;s Annual Report on Internal Control over Financial Reporting. Our responsibility is to express an opinion on the Company&#8217;s internal control over financial reporting based on our audit. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB. </span></div><div><span><br/></span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial reporting was maintained in all material respects. Our audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, testing and evaluating the design and operating effectiveness of internal control based on the assessed risk, and performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Definition and limitations of internal control over financial reporting</span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A company&#8217;s internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. A company&#8217;s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company&#8217;s assets that could have a material effect on the financial statements.</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</span></div><div style="margin-top:12pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">/s/ GRANT THORNTON LLP</span></div><div style="margin-top:12pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">San Jose, California</span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February&#160;22, 2024</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">55</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_79"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Qualys, Inc.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED BALANCE SHEETS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except per share data)</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:73.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.330%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash and cash equivalents</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-39">203,665</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-40">173,719</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted cash</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:RestrictedCashCurrent" format="ixt:num-dot-decimal" scale="3" id="f-41">1,500</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:RestrictedCashCurrent" format="ixt:fixed-zero" scale="3" id="f-42">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Short-term marketable securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-43">221,893</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-44">147,608</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable, net of allowance of $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="3" id="f-45">778</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="3" id="f-46">736</ix:nonFraction> as of December&#160;31, 2023 and 2022, respectively</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-47">146,226</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-48">121,795</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prepaid expenses and other current assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-49">26,714</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-50">30,216</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total current assets</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-51">599,998</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-52">473,338</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term marketable securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-53">56,644</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-54">59,206</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="f-55">32,599</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="f-56">47,428</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating leases - right of use asset</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="f-57">22,391</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="f-58">33,752</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred tax assets, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredIncomeTaxAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-59">62,761</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredIncomeTaxAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-60">45,412</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-61">9,715</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-62">12,801</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-63">7,447</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-64">7,447</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Noncurrent restricted cash</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-65">1,200</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-66">2,700</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other noncurrent assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-67">19,863</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-68">18,857</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-69">812,618</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-70">700,941</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Liabilities and Stockholders&#8217; Equity</span></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current liabilities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts payable</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AccountsPayableCurrent" scale="3" id="f-71">988</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-72">2,808</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-73">43,096</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-74">42,592</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenues, current</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-75">333,267</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-76">293,728</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease liabilities, current</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-77">11,857</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-78">13,060</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total current liabilities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-79">389,208</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-80">352,188</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenues, noncurrent</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-81">31,671</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-82">23,490</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease liabilities, noncurrent</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-83">16,885</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-84">29,121</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other noncurrent liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OtherLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-85">6,680</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-86">7,013</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total liabilities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:Liabilities" format="ixt:num-dot-decimal" scale="3" id="f-87">444,444</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:Liabilities" format="ixt:num-dot-decimal" scale="3" id="f-88">411,812</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commitments and contingencies (Note 9)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"><ix:nonFraction unitRef="usd" contextRef="c-4" xsi:nil="true" name="us-gaap:CommitmentsAndContingencies" id="f-89"></ix:nonFraction></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"><ix:nonFraction unitRef="usd" contextRef="c-5" xsi:nil="true" name="us-gaap:CommitmentsAndContingencies" id="f-90"></ix:nonFraction></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stockholders&#8217; equity:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Preferred stock: $<ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="3" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="f-91"><ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="3" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="f-92">0.001</ix:nonFraction></ix:nonFraction> par value; <ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-93"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-94">20,000</ix:nonFraction></ix:nonFraction> shares authorized, <ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:fixed-zero" scale="3" id="f-95"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:PreferredStockSharesIssued" format="ixt:fixed-zero" scale="3" id="f-96"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:fixed-zero" scale="3" id="f-97"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:PreferredStockSharesIssued" format="ixt:fixed-zero" scale="3" id="f-98">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> shares issued and outstanding as of December&#160;31, 2023 and 2022</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PreferredStockValue" format="ixt:fixed-zero" scale="3" id="f-99">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PreferredStockValue" format="ixt:fixed-zero" scale="3" id="f-100">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Common stock: $<ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="3" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="f-101"><ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="3" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="f-102">0.001</ix:nonFraction></ix:nonFraction> par value; <ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-103"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-104">1,000,000</ix:nonFraction></ix:nonFraction> shares authorized, <ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-105"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="f-106">36,909</ix:nonFraction></ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-107"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="f-108">37,362</ix:nonFraction></ix:nonFraction> shares issued and outstanding as of December&#160;31, 2023 and 2022, respectively</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="f-109">37</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="f-110">37</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additional paid-in capital</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AdditionalPaidInCapital" format="ixt:num-dot-decimal" scale="3" id="f-111">597,921</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AdditionalPaidInCapital" format="ixt:num-dot-decimal" scale="3" id="f-112">512,486</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accumulated other comprehensive loss</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-113">1,704</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-114">1,947</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accumulated deficit</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="f-115">228,080</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="f-116">221,447</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total stockholders&#8217; equity</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-117">368,174</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-118">289,129</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total liabilities and stockholders&#8217; equity</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-119">812,618</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-120">700,941</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these Consolidated Financial Statements.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">56</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_82"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Qualys, Inc.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF OPERATIONS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except per share data)</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-121">554,458</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-122">489,723</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-123">411,172</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenues</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-124">107,485</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-125">102,788</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-126">89,439</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross profit</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-127">446,973</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-128">386,935</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-129">321,733</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating expenses:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" format="ixt:num-dot-decimal" scale="3" id="f-130">110,472</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" format="ixt:num-dot-decimal" scale="3" id="f-131">101,186</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" format="ixt:num-dot-decimal" scale="3" id="f-132">81,289</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:SellingAndMarketingExpense" format="ixt:num-dot-decimal" scale="3" id="f-133">111,691</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:SellingAndMarketingExpense" format="ixt:num-dot-decimal" scale="3" id="f-134">97,221</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:SellingAndMarketingExpense" format="ixt:num-dot-decimal" scale="3" id="f-135">76,487</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-136">61,741</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-137">57,981</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-138">76,274</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total operating expenses</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="f-139">283,904</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="f-140">256,388</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="f-141">234,050</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income from operations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-142">163,069</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-143">130,547</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-144">87,683</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other income (expense), net:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:InvestmentIncomeInterest" format="ixt:num-dot-decimal" scale="3" id="f-145">16,905</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:InvestmentIncomeInterest" format="ixt:num-dot-decimal" scale="3" id="f-146">5,191</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:InvestmentIncomeInterest" format="ixt:num-dot-decimal" scale="3" id="f-147">2,287</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other expense, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" format="ixt:num-dot-decimal" scale="3" id="f-148">1,323</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" format="ixt:num-dot-decimal" scale="3" id="f-149">2,038</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="f-150">573</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total other income, net</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NonoperatingIncomeExpense" format="ixt:num-dot-decimal" scale="3" id="f-151">15,582</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:NonoperatingIncomeExpense" format="ixt:num-dot-decimal" scale="3" id="f-152">3,153</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:NonoperatingIncomeExpense" format="ixt:num-dot-decimal" scale="3" id="f-153">1,714</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income before income taxes</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-154">178,651</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-155">133,700</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-156">89,397</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income tax provision</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-157">27,056</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-158">25,708</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-159">18,437</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-160">151,595</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-161">107,992</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-162">70,960</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income per share:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-163">4.11</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-6" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-164">2.81</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-7" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-165">1.82</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-166">4.03</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-6" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-167">2.74</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-7" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-168">1.77</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average shares used in computing net income per share:</span></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-169">36,879</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-170">38,453</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-171">39,030</ix:nonFraction></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted</span></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-172">37,602</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-173">39,344</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-174">40,118</ix:nonFraction></span></td></tr></table></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these Consolidated Financial Statements.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">57</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_85"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Qualys, Inc.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-175">151,595</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-176">107,992</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-177">70,960</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other comprehensive income (loss), net of tax</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 28pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net change in unrealized gains (losses) on available-for-sale debt securities, net of tax</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-178">2,813</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-179">2,520</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-180">1,409</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 28pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net change in unrealized gains (losses) on cash flow hedges, net of tax</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent" format="ixt:num-dot-decimal" scale="3" id="f-181">2,570</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent" scale="3" id="f-182">434</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent" format="ixt:num-dot-decimal" scale="3" id="f-183">2,900</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 28pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other comprehensive income (loss), net of tax</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="f-184">243</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-185">2,954</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-186">1,491</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Comprehensive income</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-187">151,838</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-188">105,038</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-189">72,451</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these Consolidated Financial Statements.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_88"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Qualys, Inc.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF CASH FLOWS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Cash flow from operating activities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Net income</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-190">151,595</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-191">107,992</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-192">70,960</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Adjustments to reconcile net income to net cash provided by operating activities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Depreciation and amortization expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-193">26,991</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-194">34,622</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-195">35,897</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Write off of noncurrent asset</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherAssetImpairmentCharges" format="ixt:fixed-zero" scale="3" id="f-196">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:OtherAssetImpairmentCharges" format="ixt:fixed-zero" scale="3" id="f-197">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OtherAssetImpairmentCharges" scale="3" id="f-198">625</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Provision for credit losses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="f-199">547</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="f-200">590</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="f-201">402</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Loss on disposal of property and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" format="ixt:fixed-zero" scale="3" id="f-202">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="f-203">6</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="f-204">12</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Loss on non-marketable securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss" scale="3" id="f-205">533</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss" format="ixt:fixed-zero" scale="3" id="f-206">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss" format="ixt:fixed-zero" scale="3" id="f-207">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Stock-based compensation, net of amounts capitalized</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-208">69,079</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-209">53,408</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-210">67,579</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Amortization (accretion) of premiums (discount) on marketable securities, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" format="ixt:num-dot-decimal" scale="3" id="f-211">5,712</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" scale="3" id="f-212">833</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" format="ixt:num-dot-decimal" scale="3" id="f-213">3,869</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Deferred income taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" format="ixt:num-dot-decimal" scale="3" id="f-214">16,636</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" format="ixt:num-dot-decimal" scale="3" id="f-215">20,251</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" format="ixt:num-dot-decimal" scale="3" id="f-216">9,723</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Changes in operating assets and liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Accounts receivable</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-217">24,978</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-218">13,387</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-219">9,221</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Prepaid expenses and other assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" format="ixt:num-dot-decimal" scale="3" id="f-220">3,407</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" format="ixt:num-dot-decimal" scale="3" id="f-221">3,878</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" format="ixt:num-dot-decimal" scale="3" id="f-222">15,665</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Accounts payable</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="f-223">1,578</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="f-224">2,107</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="f-225">32</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Accrued liabilities and other noncurrent liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" scale="3" id="f-226">451</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-227">3,867</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-228">9,322</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Deferred revenues</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="f-229">47,720</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="f-230">25,189</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="f-231">46,591</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Net cash provided by operating activities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="f-232">244,605</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="f-233">198,854</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="f-234">200,616</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Cash flow from investing activities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Purchases of marketable securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsToAcquireMarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-235">306,812</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:PaymentsToAcquireMarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-236">178,788</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:PaymentsToAcquireMarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-237">368,450</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Sales and maturities of marketable securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-238">242,432</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-239">347,837</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-240">363,941</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Purchases of property and equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-241">8,786</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-242">15,361</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-243">24,424</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Proceeds from disposal of property and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" format="ixt:fixed-zero" scale="3" id="f-244">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" format="ixt:fixed-zero" scale="3" id="f-245">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="f-246">6</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Purchases of intangible assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsToAcquireBusinessesGross" format="ixt:fixed-zero" scale="3" id="f-247">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:PaymentsToAcquireBusinessesGross" format="ixt:num-dot-decimal" scale="3" id="f-248">8,620</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:PaymentsToAcquireBusinessesGross" format="ixt:num-dot-decimal" scale="3" id="f-249">1,230</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Maturity of note receivable</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="qlys:PaymentsToAcquireMaturitiesOfNotesReceivable" format="ixt:fixed-zero" scale="3" id="f-250">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="qlys:PaymentsToAcquireMaturitiesOfNotesReceivable" format="ixt:fixed-zero" scale="3" id="f-251">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="qlys:PaymentsToAcquireMaturitiesOfNotesReceivable" scale="3" id="f-252">625</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Net cash (used in) provided by investing activities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="f-253">73,166</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="f-254">145,068</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="f-255">29,532</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Cash flow from financing activities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Repurchase of common stock</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsForRepurchaseOfCommonStock" format="ixt:num-dot-decimal" scale="3" id="f-256">170,800</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:PaymentsForRepurchaseOfCommonStock" format="ixt:num-dot-decimal" scale="3" id="f-257">317,344</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:PaymentsForRepurchaseOfCommonStock" format="ixt:num-dot-decimal" scale="3" id="f-258">129,977</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Proceeds from exercise of stock options</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-259">45,576</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ProceedsFromStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-260">24,483</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ProceedsFromStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-261">49,994</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Payments for taxes related to net share settlement of equity awards</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-262">22,346</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-263">17,615</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-264">27,815</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Proceeds from issuance of common stock through employee stock purchase plan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfCommonStock" format="ixt:num-dot-decimal" scale="3" id="f-265">6,077</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfCommonStock" format="ixt:num-dot-decimal" scale="3" id="f-266">4,445</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfCommonStock" format="ixt:fixed-zero" scale="3" id="f-267">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Principal payments under finance lease obligations</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:FinanceLeasePrincipalPayments" format="ixt:fixed-zero" scale="3" id="f-268">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:FinanceLeasePrincipalPayments" format="ixt:fixed-zero" scale="3" id="f-269">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" id="f-270">90</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Net cash used in financing activities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="f-271">141,493</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="f-272">306,031</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="f-273">107,888</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Net increase in cash, cash equivalents and restricted cash</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="f-274">29,946</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="f-275">37,891</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="f-276">63,196</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Cash, cash equivalents and restricted cash at beginning of period</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" format="ixt:num-dot-decimal" scale="3" id="f-277">176,419</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" format="ixt:num-dot-decimal" scale="3" id="f-278">138,528</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" format="ixt:num-dot-decimal" scale="3" id="f-279">75,332</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Cash, cash equivalents and restricted cash at end of period</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" format="ixt:num-dot-decimal" scale="3" id="f-280">206,365</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" format="ixt:num-dot-decimal" scale="3" id="f-281">176,419</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" format="ixt:num-dot-decimal" scale="3" id="f-282">138,528</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Supplemental disclosures of cash flow information</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Cash paid for income taxes, net of refunds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-283">34,920</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-284">39,739</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-285">35,080</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Non-cash investing and financing activities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Purchases of intangible assets recorded in accrued liabilities and other noncurrent liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1" format="ixt:fixed-zero" scale="3" id="f-286">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1" format="ixt:num-dot-decimal" scale="3" id="f-287">2,110</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1" scale="3" id="f-288">120</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Purchases of property and equipment recorded in accounts payable and accrued liabilities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="f-289">144</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="f-290">470</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" format="ixt:num-dot-decimal" scale="3" id="f-291">2,086</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these Consolidated Financial Statements.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_91"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Qualys, Inc.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.914%"><tr><td style="width:1.0%"/><td style="width:39.963%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.155%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.225%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.155%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.225%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.155%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.225%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.431%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.225%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.155%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.225%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.161%"/><td style="width:0.1%"/></tr><tr style="height:36pt"><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Common Stock</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Additional<br/>Paid-In <br/>Capital</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accumulated <br/>Other<br/>Comprehensive <br/>Income (Loss)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Retained <br/>Earnings<br/>(Accumulated <br/>Deficit)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total<br/>Stockholders&#8217; <br/>Equity</span></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Shares</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amount</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balances at December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-10" decimals="-3" name="us-gaap:SharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-292">39,253</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-10" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-293">39</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-11" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-294">401,359</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-12" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="f-295">484</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-296">3,568</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-297">404,482</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-298">70,960</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-299">70,960</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other comprehensive income, net of tax</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-300">1,491</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-301">1,491</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Issuance of common stock upon exercise of stock options</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-16" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="f-302">725</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-16" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="f-303">1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-17" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-304">49,993</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-305">49,994</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Repurchase of common stock</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="shares" contextRef="c-16" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodShares" format="ixt:num-dot-decimal" scale="3" id="f-306">1,148</ix:nonFraction>)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-16" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="f-307">1</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-17" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-308">13,793</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-309">116,183</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-310">129,977</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Issuance of common stock upon vesting of restricted stock units</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-16" decimals="-3" name="qlys:StockIssuedDuringPeriodSharesRestrictedStockAwardVested" scale="3" id="f-311">530</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Taxes related to net share settlement of equity awards</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="shares" contextRef="c-16" decimals="-3" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="3" id="f-312">248</ix:nonFraction>)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-17" decimals="-3" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-313">27,815</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-314">27,815</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-17" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-315">67,579</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-316">67,579</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balances at December 31, 2021</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-18" decimals="-3" name="us-gaap:SharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-317">39,112</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-18" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-318">39</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-19" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-319">477,323</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-20" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-320">1,007</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-21" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-321">41,655</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-322">436,714</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-22" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-323">107,992</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-324">107,992</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other comprehensive loss, net of tax</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-23" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-325">2,954</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-326">2,954</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Issuance of common stock upon exercise of stock options</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-24" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="f-327">468</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-25" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-328">24,483</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-329">24,483</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Repurchase of common stock</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="shares" contextRef="c-24" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodShares" format="ixt:num-dot-decimal" scale="3" id="f-330">2,460</ix:nonFraction>)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-24" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="f-331">2</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-25" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-332">29,558</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-22" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-333">287,784</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-334">317,344</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Issuance of common stock upon vesting of restricted stock units</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-24" decimals="-3" name="qlys:StockIssuedDuringPeriodSharesRestrictedStockAwardVested" scale="3" id="f-335">329</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Taxes related to net share settlement of equity awards</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="shares" contextRef="c-24" decimals="-3" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="3" id="f-336">132</ix:nonFraction>)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-25" decimals="-3" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-337">17,615</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-338">17,615</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Issuance of common stock through employee stock purchase plan</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-24" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" scale="3" id="f-339">45</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-25" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" format="ixt:num-dot-decimal" scale="3" id="f-340">4,445</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" format="ixt:num-dot-decimal" scale="3" id="f-341">4,445</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-25" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-342">53,408</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-343">53,408</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balances at December 31, 2022</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-26" decimals="-3" name="us-gaap:SharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-344">37,362</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-26" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-345">37</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-27" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-346">512,486</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-28" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-347">1,947</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-29" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-348">221,447</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-349">289,129</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-30" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-350">151,595</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-351">151,595</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other comprehensive income, net of tax</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-31" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="f-352">243</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="f-353">243</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Issuance of common stock upon exercise of stock options</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-32" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="f-354">582</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-33" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-355">45,575</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-356">45,576</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Repurchase of common stock</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="shares" contextRef="c-32" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodShares" format="ixt:num-dot-decimal" scale="3" id="f-357">1,342</ix:nonFraction>)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-32" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="f-358">1</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-33" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-359">12,990</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-30" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-360">158,228</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-361">171,219</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Issuance of common stock upon vesting of restricted stock units</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-32" decimals="-3" name="qlys:StockIssuedDuringPeriodSharesRestrictedStockAwardVested" scale="3" id="f-362">414</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Taxes related to net share settlement of equity awards</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="shares" contextRef="c-32" decimals="-3" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="3" id="f-363">167</ix:nonFraction>)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-33" decimals="-3" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-364">22,346</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-365">22,346</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Issuance of common stock through employee stock purchase plan</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-32" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" scale="3" id="f-366">60</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" format="ixt:num-dot-decimal" scale="3" id="f-367">6,077</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" format="ixt:num-dot-decimal" scale="3" id="f-368">6,077</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-33" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-369">69,119</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-370">69,119</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balances at December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-34" decimals="-3" name="us-gaap:SharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-371">36,909</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-34" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-372">37</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-35" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-373">597,921</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-36" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-374">1,704</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-37" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-375">228,080</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-376">368,174</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these Consolidated Financial Statements.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">60</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_94"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Qualys, Inc.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_97"></div><div style="margin-top:24pt;padding-left:54pt;text-align:justify;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 1. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" id="f-377" continuedAt="f-377-1" escape="true">The Company and Summary of Significant Accounting Policies</ix:nonNumeric></span></div><ix:continuation id="f-377-1" continuedAt="f-377-2"><ix:nonNumeric contextRef="c-1" name="qlys:DescriptionOfBusinessPolicyPolicyTextBlock" id="f-378" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Description of Business </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Qualys, Inc. (the &#8220;Company&#8221;, "we", "us", "our") was incorporated in the state of Delaware on</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December 30, 1999</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is headquartered in Foster City, California and has wholly-owned subsidiaries throughout the world. The Company is a leading provider of cloud-based IT, security and compliance solutions that enable organizations to identify security risks to their IT infrastructures, help protect their IT systems and applications from ever-evolving cyber-attacks and achieve compliance with internal policies and external regulations. The Company&#8217;s cloud solutions address the growing security and compliance complexities and risks that are amplified by the dissolving boundaries between internal and external IT infrastructures and web environments, the rapid adoption of cloud computing and the proliferation of geographically dispersed IT assets. Organizations can use the Company&#8217;s integrated suite of solutions delivered on Qualys' Enterprise TruRisk Platform to cost-effectively obtain a unified view of their security and compliance posture across globally-distributed IT infrastructures.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="f-379" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying consolidated financial statements and footnotes have been prepared in accordance with U.S. GAAP as well as the instructions to Form 10-K and the rules and regulations of the SEC. Certain prior year amounts have been reclassified to conform with the current year presentation. In the opinion of management, the accompanying consolidated financial statements reflect all adjustments, which include only normal recurring adjustments, necessary for the fair presentation of the Company&#8217;s consolidated financial position, results of operations and cash flows for the periods presented. The accompanying consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany transactions and balances have been eliminated upon consolidation.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:UseOfEstimates" id="f-380" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of the consolidated financial statements in conformity with U.S. GAAP requires management to make certain estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of assets and liabilities at the date of the consolidated financial statements and the reported results of operations during the reporting period. The Company&#8217;s management regularly assesses these estimates, which primarily affect revenue recognition, allowance for credit loss, the valuation of goodwill and intangible assets, leases, stock-based compensation and income tax provision. Actual results could differ from those estimates and such differences may be material to the accompanying consolidated financial statements.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ConcentrationRiskCreditRisk" id="f-381" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Concentration of Credit Risk</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company invests its cash and cash equivalents with major financial institutions. Cash balances with any one institution at times may be in excess of federally insured limits. Cash equivalents are invested in high-quality investment grade financial instruments and are diversified. The Company has not experienced any losses in such accounts and believes it is not exposed to any significant credit risk.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Credit risk with respect to accounts receivable is dispersed due to the large number of customers. Collateral is not required for accounts receivable. As of December&#160;31, 2023 and 2022, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">no customer or channel partner accounted for more than 10% of the Company's revenues and accounts receivable balance.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="qlys:CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock" id="f-382" continuedAt="f-382-1" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash, Cash Equivalents, Restricted cash and Short-Term and Long-Term Marketable Securities</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash and cash equivalents include cash held in banks, highly liquid money market funds, and fixed-income U.S. Treasury and government agencies, all with original maturities of three months or less when acquired. The Company&#8217;s short-term and long-term marketable securities consist of fixed-income U.S. and foreign government agency securities, corporate bonds, asset-backed securities and commercial paper. Management determines the appropriate classification of the Company's investments at the time of purchase and reevaluates such designation at each balance sheet date. The Company classifies its marketable securities as either short-term or long-term based on each instrument's underlying remaining contractual maturity date. </span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-377-2" continuedAt="f-377-3"><ix:continuation id="f-382-1"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023 and 2022, the Company had a restricted cash balance of $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:RestrictedCash" format="ixt:num-dot-decimal" scale="6" id="f-383"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:RestrictedCash" format="ixt:num-dot-decimal" scale="6" id="f-384">2.7</ix:nonFraction></ix:nonFraction> million, of which $<ix:nonFraction unitRef="usd" contextRef="c-38" decimals="-5" name="us-gaap:RestrictedCash" format="ixt:num-dot-decimal" scale="6" id="f-385"><ix:nonFraction unitRef="usd" contextRef="c-39" decimals="-5" name="us-gaap:RestrictedCash" format="ixt:num-dot-decimal" scale="6" id="f-386">1.5</ix:nonFraction></ix:nonFraction> million is related to cash held in escrow as part of the Blue Hexagon acquisition and $<ix:nonFraction unitRef="usd" contextRef="c-40" decimals="-5" name="us-gaap:RestrictedCash" format="ixt:num-dot-decimal" scale="6" id="f-387"><ix:nonFraction unitRef="usd" contextRef="c-41" decimals="-5" name="us-gaap:RestrictedCash" format="ixt:num-dot-decimal" scale="6" id="f-388">1.2</ix:nonFraction></ix:nonFraction> million in the form of a letter of credit issued to the landlord of the Company's California headquarter office lease as security deposit.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents are stated at cost, which approximates fair market value. Short-term and long-term marketable securities are classified as available-for-sale debt securities (AFS debt securities) and are carried at fair value. Unrealized gains and losses in fair value of the AFS debt securities are reported in other comprehensive income (loss). When the AFS debt securities are sold, cost is based on the specific identification method, and the realized gains and losses are included in other income (expense), net in the consolidated statements of operations. AFS debt securities are reviewed quarterly for impairment. An investment is considered impaired when its fair value is below its amortized cost. Declines in fair value from amortized cost for AFS debt securities that the company intends to sell or will more likely than not be required to sell before the expected recovery of the amortized cost basis are charged to other income (expense), net in the period in which the loss occurs. Otherwise, the credit loss component of the impairment is recorded as allowance for credit losses with an offsetting entry charged to other income (expense), net, while the remaining loss is recognized in other comprehensive income (loss).</span></div></ix:continuation><ix:nonNumeric contextRef="c-1" name="us-gaap:TradeAndOtherAccountsReceivablePolicy" id="f-389" continuedAt="f-389-1" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounts Receivable</span></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-389-1">Accounts receivable are recorded at the invoiced amount and do not bear interest. The allowance for credit losses is determined on a collective basis where similar risk characteristics exist and on an individual basis when the Company identifies significant customers or invoices with collectability issues. The estimate for credit losses considers historical write-offs by aging category, that are adjusted for current conditions and reasonable and supportable forecasts of future losses. Any change in the assumptions used in analyzing credit losses may result in additional allowances being recognized in the period in which the change occurs. When the Company ultimately concludes that a receivable is uncollectible, the balance is written off against the allowance for credit losses. Payments subsequently received on such receivables are recognized in the period received. The allowance for credit losses recognized and write-offs charged against the allowance were not significant for the years ended December&#160;31, 2023 and 2022. The balance of accounts receivable, net of allowance for credit losses was $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:AccountsReceivableNet" format="ixt:num-dot-decimal" scale="6" id="f-390">146.2</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:AccountsReceivableNet" format="ixt:num-dot-decimal" scale="6" id="f-391">121.8</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-5" name="us-gaap:AccountsReceivableNet" format="ixt:num-dot-decimal" scale="6" id="f-392">109.0</ix:nonFraction> million as of December&#160;31, 2023, December&#160;31, 2022 and December&#160;31, 2021, respectively.</ix:continuation> </span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:SecuritiesOwnedNotReadilyMarketablePolicy" id="f-393" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Non-marketable securities</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2018, the Company invested $<ix:nonFraction unitRef="usd" contextRef="c-42" decimals="-5" name="us-gaap:Investments" format="ixt:num-dot-decimal" scale="6" id="f-394">2.5</ix:nonFraction> million in preferred stock of a privately-held company (the &#8220;Investee&#8221;). The fair value of the investment is not readily available, and there are no quoted market prices for the investment. The Company elected the measurement alternative to account for the investment at cost less impairment and will measure the investment at fair value when the Company identifies observable price changes. The investment is assessed for impairment annually or whenever events or changes in circumstances indicate that the fair value of the investment is less than carrying value. The investment is included in other noncurrent assets in the consolidated balance sheets. The Company has <ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:ProceedsFromDividendsReceived" format="ixt:fixed-zero" scale="3" id="f-395"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:ProceedsFromDividendsReceived" format="ixt:fixed-zero" scale="3" id="f-396"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:ProceedsFromDividendsReceived" format="ixt:fixed-zero" scale="3" id="f-397">not</ix:nonFraction></ix:nonFraction></ix:nonFraction> received any dividends from the investment. During the second quarter of 2023, the Company identified an observable price change in the investment and recognized an immaterial unrealized loss in other income (expense), net of the consolidated statement of operations.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2019, the Company made an advance payment of $<ix:nonFraction unitRef="usd" contextRef="c-43" decimals="-5" name="us-gaap:PaymentsForAdvanceToAffiliate" format="ixt:num-dot-decimal" scale="6" id="f-398">0.6</ix:nonFraction> million to the Investee for it to perform certain technology development work, which should either be settled in the form of royalty fee charges when the technology materializes and is licensed to the Company or, otherwise, should be repaid to the Company in cash. The advance payment was recorded in other non-current assets in the consolidated balance sheet. During the fourth quarter ended December 31, 2021, the technology has not been developed and the Company decided to no longer pursue the development of the technology or the collection of the advanced amount. Accordingly, the entire amount of the advance payment was written off and recorded in the general and administrative expense during the year ended December 31, 2021.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="f-399" continuedAt="f-399-1" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment, net</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost less accumulated depreciation and amortization. Depreciation is computed using the straight-line method over the estimated useful lives of the assets, which range from <span style="-sec-ix-hidden:f-400">three</span> to <ix:nonNumeric contextRef="c-45" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:durwordsen" id="f-401">five years</ix:nonNumeric>. Leasehold improvements are amortized on a straight-line basis over the lesser of the estimated useful life of the asset or the remaining lease term.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company purchases physical scanner appliances and other computer equipment that are provided to some customers on a subscription basis. This equipment is recorded within property and equipment and the depreciation is recorded in cost of revenues over an estimated useful life of <ix:nonNumeric contextRef="c-46" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:durwordsen" id="f-402">three years</ix:nonNumeric>.</span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-377-3" continuedAt="f-377-4"><ix:continuation id="f-399-1"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Upon retirement or disposal, the cost of assets and the related accumulated depreciation are removed from the accounts and any resulting gain or loss is reflected in the consolidated statements of operations. Repairs and maintenance that do not extend the life of an asset are expensed as incurred and major improvements are capitalized as property and equipment.</span></div></ix:continuation><ix:nonNumeric contextRef="c-1" name="us-gaap:LesseeLeasesPolicyTextBlock" id="f-403" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Leases</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases certain offices, computer equipment and its shared cloud platform facilities under finance leases and non-cancelable operating leases. For both operating and finance leases, the Company recognizes a right-of-use asset, which represents the Company's right to use the underlying asset for the lease term, and a lease liability, which represents the present value of the Company's obligation to make payments arising over the lease term. Many of the Company's leases include rental escalation clauses, renewal options and/or termination options that are factored into the Company's determination of lease payments and lease terms when appropriate. The present value of the lease payments is calculated using the incremental borrowing rate of the underlying leases determined at lease commencement. As most of the Company's leases do not provide a readily determinable implicit rate, the Company determines an incremental borrowing rate using a portfolio approach based on the rate of interest that the Company would have to pay to borrow an amount equal to the lease payments on a collateralized basis over a similar term as the leases. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Where the Company is the lessee, the Company elects to account for non-lease components associated with its leases (e.g., common area maintenance costs) and lease components separately for substantially all of its asset classes, except for shared cloud platforms, for which the Company elected to combine lease and non-lease components. For leases with a term of one year or less, the Company has elected not to record the right-of-use asset or liability.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In arrangements where the Company is the lessor, the Company elected to apply the practical expedient to account for lease components (e.g., customer premise equipment) and non-lease components (e.g., service revenue) as combined components as revenue under ASC 606 as service revenues are the predominant components in the arrangements.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" id="f-404" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Impairment of Long-Lived Assets </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluates its long-lived assets, which consist of property and equipment, and intangible assets subject to amortization, for indicators of possible impairment when events or changes in circumstances indicate the carrying amount of an asset may not be recoverable. Impairment exists if the carrying amounts of such assets exceed the estimates of future undiscounted cash flows expected to be generated by such assets. Should an impairment exist, the impairment loss would be measured based on the excess carrying value of the asset over the asset&#8217;s estimated fair value. For the years ended December&#160;31, 2023, 2022 and 2021, there was <ix:nonFraction unitRef="usd" contextRef="c-6" decimals="INF" name="us-gaap:ImpairmentOfLongLivedAssetsHeldForUse" format="ixt:fixed-zero" scale="3" id="f-405"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="INF" name="us-gaap:ImpairmentOfLongLivedAssetsHeldForUse" format="ixt:fixed-zero" scale="3" id="f-406"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="INF" name="us-gaap:ImpairmentOfLongLivedAssetsHeldForUse" format="ixt:fixed-zero" scale="3" id="f-407">no</ix:nonFraction></ix:nonFraction></ix:nonFraction> impairment of long-lived assets.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock" id="f-408" continuedAt="f-408-1" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill and Intangible Assets</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill represents the excess of the purchase price over the fair value of the net tangible and identifiable intangible assets acquired in a business combination. Goodwill and indefinite-lived intangible assets are not amortized but tested for impairment at least annually or more frequently if certain circumstances indicate a possible impairment may exist. The goodwill impairment tests are performed at the reporting unit level. The Company&#8217;s operations are organized as <ix:nonFraction unitRef="reportingunit" contextRef="c-1" decimals="INF" name="us-gaap:NumberOfReportingUnits" format="ixt-sec:numwordsen" scale="0" id="f-409">one</ix:nonFraction> reporting unit.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In testing for a potential impairment of goodwill and the indefinite-lived intangible assets, the Company first performs a qualitative assessment to determine if it is more likely than not (a more than 50% likelihood) that the fair value of the reporting unit or the indefinite-lived intangible assets is less than their carrying amount. If the fair value is not considered to be less than the carrying amount, no further evaluation is necessary. Otherwise, the Company will perform a quantitative test. Goodwill impairment is measured as the amount by which the carrying value of the reporting unit or the indefinite-lived intangible assets exceeds their fair value. The Company performed the annual assessments on December 1, 2023 and 2022 and concluded there was no impairment of goodwill or the indefinite-lived intangible assets.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Software Development Costs</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The costs to develop software that is marketed externally have not been capitalized as the Company believes its current software development process is essentially completed concurrent with the establishment of technological feasibility. As such, all related software development costs are expensed as incurred and included in research and development expense on the Company's consolidated statements of operations.</span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-377-4" continuedAt="f-377-5"><ix:continuation id="f-408-1"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs related to software developed, acquired or modified for internal use are capitalized and included in other noncurrent assets on the consolidated balance sheets. Costs incurred during the preliminary planning and evaluation stage of the project and during the post implementation stages of the project are expensed as incurred. Costs incurred during the application development stage of the project are capitalized. These capitalized costs consist of internal compensation related costs and external direct costs.   Costs related to software developed for internal use are amortized over an estimated useful life of <ix:nonNumeric contextRef="c-47" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:durwordsen" id="f-410">three years</ix:nonNumeric> and recorded in cost of revenues. Management evaluates the useful lives of these assets on an annual basis and tests for impairment whenever events or changes in circumstances occur that could impact the recoverability of these assets. As of December&#160;31, 2023 and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, unamortized balances related to the Company's internally developed software costs are immaterial.</span></div></ix:continuation><ix:nonNumeric contextRef="c-1" name="qlys:AssetAcquisitionsPolicyTextBlock" id="f-412" escape="true"><ix:nonNumeric contextRef="c-1" name="us-gaap:BusinessCombinationsPolicy" id="f-411" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Asset Acquisitions and Business Combinations </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company applies the provisions of ASC 805, Business Combinations, in accounting for its acquisitions. To determine whether transactions should be accounted for as asset acquisition or business combination, the Company evaluates whether substantially all of the fair value of gross assets included in a transaction is concentrated in a single asset (or a group of similar assets), resulting in an asset acquisition, if not, resulting in a business combination. In an asset acquisition, the cost of acquiring the asset group, including transaction costs, is allocated to the acquired assets or assumed liabilities based on their relative fair values without giving rise to goodwill. In a business combination, the Company recognize separately from goodwill the assets acquired and the liabilities assumed at their acquisition date fair values. Goodwill as of the acquisition date is measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities assumed. While the Company uses its best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, its estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company records adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon the conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to its consolidated statements of operations.</span></div></ix:nonNumeric></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:DerivativesReportingOfDerivativeActivity" id="f-413" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Derivative Financial Instruments</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Derivative financial instruments are utilized by the Company to reduce foreign currency exchange risks. The Company uses foreign currency forward contracts, with maturities of <ix:nonNumeric contextRef="c-48" name="us-gaap:DerivativeTermOfContract" format="ixt-sec:durmonth" id="f-414">13</ix:nonNumeric> months or less, to mitigate the impact of foreign currency fluctuations of certain non-U.S. dollar denominated net asset positions, to date primarily cash, accounts receivable and operating lease liabilities, as well as to manage foreign currency fluctuation risk related to forecasted transactions. Open contracts are recorded within prepaid expenses and other current assets, other noncurrent assets, accrued liabilities or other noncurrent liabilities in the consolidated balance sheets. Gains and losses resulting from currency exchange rate movements on non-designated forward contracts are recognized in other income (expense), net. Any gains or losses from derivatives designated as cash flow hedges are first recorded within accumulated other comprehensive income (&#8220;AOCI&#8221;) and then reclassified into revenue or operating expenses when the hedged item impacts the consolidated statements of operations. Cash flows related to these forward contracts are classified in the Company's consolidated statements of cash flows in the same manner as the underlying hedged transaction within cash flows from operating activities.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" id="f-415" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-Based Compensation</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes the fair value of its stock options, restricted stock units (&#8220;RSUs&#8221;) and stock purchase rights under the ESPP on a straight-line basis over the requisite service periods. The fair value of each stock option or stock purchase right is estimated on the date of grant using the Black-Scholes-Merton option pricing model and the fair value of each RSU is based on the Company's common stock price on the date of grant. Compensation expenses for performance-based stock options (&#8220;PSOs&#8221;) and performance-based restricted stock units (&#8220;PSUs&#8221;) are recorded based on expected achievement of the performance metrics specified in the grant, which are assessed on a quarterly basis. Forfeitures are estimated on the date of grant and revised if actual or expected forfeiture materially differs from original estimates.</span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">64</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:nonNumeric contextRef="c-1" name="us-gaap:RevenueRecognitionPolicyTextBlock" id="f-416" continuedAt="f-416-1" escape="true"><ix:continuation id="f-377-5" continuedAt="f-377-6"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue Recognition</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company derives revenues from subscriptions that require customers to pay a fee in order to access the Company&#8217;s cloud solutions. Contract period with customers generally are one year with occasional contracts ranging up to five years. The subscription fee entitles the customer to an unlimited number of scans for a specified number of networked devices or web applications and, if requested by a customer as part of their subscription, a specified number of physical or virtual scanner appliances. The Company&#8217;s physical and virtual scanner appliances are requested by certain customers as part of their subscriptions in order to scan IT infrastructures within their firewalls and do not function without, and are not sold separately from, subscriptions for the Company&#8217;s solutions. In some limited cases, the Company also provides certain computer equipment used to extend Qualys' Enterprise TruRisk Platform into its customers&#8217; private cloud environment. Customers are required to return physical scanner appliances and computer equipment if they do not renew their subscriptions. </span></div><div style="margin-top:12pt;padding-left:27pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determines revenue recognition through the following steps:</span></div><div style="margin-top:6pt;padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Identification of the contract, or contracts, with a customer;</span></div><div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Identification of the performance obligations in the contract;</span></div><div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Determination of the transaction price;</span></div><div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Allocation of the transaction price to the performance obligations in the contract; and</span></div><div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Recognition of revenue when, or as, the Company satisfies a performance obligation.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At the inception of a customer contract, the Company makes an assessment as to that customer's ability to pay for the services provided. The Company assesses collectability based on several factors, including credit worthiness of the customer along with past transaction history. In addition, the Company performs periodic evaluations of its customers&#8217; financial condition. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Most of the Company&#8217;s revenue contracts are subscription based and contain a single performance obligation. The subscription contracts typically do not offer to the customers any future rights that would constitute material rights. Contract prices are generally composed of fixed consideration for a specific period of time as the Company in general does not offer refunds, volume rebates, customer loyalty programs or other forms of customer incentive payments. In limited situations, contract prices are contingent on future events, such as actual usage during the contract terms, which are accounted for as variable consideration and estimated based on the most likely amount of consideration that the Company is expected to be entitled to. Estimates are included in the contract price to the extent that it is considered probable that a significant reversal in the amount of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. Such estimates are made at contract inception and updated periodically when additional information becomes available. A cumulative catch-up adjustment is made when there is a change in the estimate of variable consideration.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As the Company's cloud-based subscription services are delivered to customers electronically and over time, revenue is generally recognized ratably over the contract terms. When physical equipment is provided to the customers as part of the subscription service contract, the Company applies the practical expedient allowed under ASC 842 Leases to combine lease and nonlease components as a combined component to be accounted for under ASC 606, as the Company determined that the software subscription is the predominant component of the combined components. Therefore, the Company recognizes revenue for the physical equipment ratably over the related subscription period.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract modifications happen when there is an upsell, where the customers subsequently enter into contract with the Company to purchase additional product offerings or additional scans for additional devices. Contract modifications related to upsells are accounted for prospectively.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenues consist of customer contracts billed or cash received that will be recognized in the future under subscriptions existing at the balance sheet date. The current portion of deferred revenues represents amounts that are expected to be recognized within one year of the balance sheet date.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs of shipping and handling charges incurred by the Company associated with physical scanner appliances and other computer equipment are included in cost of revenues. Sales taxes and other taxes collected from customers to be remitted to government authorities are excluded from revenues.</span></div></ix:continuation></ix:nonNumeric><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">65</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-377-6" continuedAt="f-377-7"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-416-1">Incremental direct costs of obtaining a contract, which consist of sales commissions primarily for new business and upsells, are deferred and amortized over the estimated life of the customer relationship if renewals are expected and the renewal commission is not commensurate with the initial commission. The Company elected the practical expedient to expense commissions on renewals where the specific anticipated contract term amortization period is one year or less. The Company amortizes the capitalized commission cost as a selling expense on a straight-line basis over a period of <ix:nonNumeric contextRef="c-4" name="us-gaap:CapitalizedContractCostAmortizationPeriod" format="ixt-sec:durwordsen" id="f-417">five years</ix:nonNumeric>. The Company classifies deferred commissions as current or noncurrent based on the timing of when it expects to recognize the expense. The current and noncurrent portions of deferred commissions are included in prepaid expenses and other current assets and other noncurrent assets, respectively, in its consolidated balance sheets.</ix:continuation> </span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:AdvertisingCostsPolicyTextBlock" id="f-418" continuedAt="f-418-1" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Advertising Expenses</span></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-418-1">Advertising costs are expensed as incurred and are included in sales and marketing expense in the consolidated statements of operations.</ix:continuation> The Company incurred advertising costs of $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:AdvertisingExpense" format="ixt:num-dot-decimal" scale="6" id="f-419">3.0</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:AdvertisingExpense" format="ixt:num-dot-decimal" scale="6" id="f-420">3.3</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:AdvertisingExpense" format="ixt:num-dot-decimal" scale="6" id="f-421">2.1</ix:nonFraction> million for the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021, respectively.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:IncomeTaxPolicyTextBlock" id="f-422" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company provides for the effect of income taxes in its consolidated financial statements using the asset and liability method which requires the recognition of deferred tax assets and liabilities for the expected future tax consequences of events that have been included in the consolidated financial statements. Under this method, deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases, net operating loss carryovers, and tax credit carry forwards. The Company regularly reviews its deferred tax assets for recoverability and establishes a valuation allowance if it is more likely than not that some portion or all of the deferred tax assets will not be realized. To make this assessment, the Company takes into account predictions of the amount and category of taxable income from various sources and all available positive and negative evidence about these possible sources of taxable income. The weight given to the potential effect of negative and positive evidence is commensurate with the extent to which the strength of the evidence can be objectively verified. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in the period that includes the enactment date.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income tax expense or benefit is recognized for the amount of taxes payable or refundable for the current year and for deferred tax assets and liabilities for the tax consequences of events that have been recognized in an entity&#8217;s financial statements or tax returns. The Company must make significant assumptions, judgments and estimates to determine its current income tax provision (benefit), its deferred tax assets and liabilities, and any valuation allowance to be recorded against its deferred tax assets. The Company's estimates and assumptions may differ from the actual results as reflected on its income tax returns and will record the required adjustments when they are identified or resolved.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company applies a two-step approach to determining the financial statement recognition and measurement of uncertain tax positions. The Company only recognizes an income tax expense or benefit with respect to uncertain tax positions in its financial statements that the Company judges is more likely than not to be sustained solely on its technical merits in a tax audit, including resolution of any related appeals or litigation processes. To make this judgment, the Company must interpret complex and sometimes ambiguous tax laws, regulations and administrative practices. If an income tax position meets the more likely than not recognition threshold, then the Company must measure the amount of the tax benefit to be recognized by determining the largest amount of tax benefit that has a greater than a 50% likelihood of being realized upon effective settlement with a taxing authority that has full knowledge of all of the relevant facts. It is inherently difficult and subjective to estimate such amounts, as this requires the Company to determine the probability of various possible settlement outcomes. To determine if a tax position is effectively settled after a tax examination has been completed, the Company must also estimate the likelihood that another taxing authority could review the respective tax position. The Company must also determine when it is reasonably possible that the amount of unrecognized tax benefits will significantly increase or decrease in the 12 months after each fiscal year-end. These judgments are difficult because a taxing authority may change its behavior as a result of the Company's disclosures in its financial statements. The Company must reevaluate its income tax positions on a quarterly basis to consider factors such as changes in facts or circumstances, changes in tax law, effectively settled issues under audit, and new audit activity. Such a change in recognition or measurement would result in recognition of a tax benefit or an additional charge to the tax provision. The Company's policy is to recognize interest and penalties related to unrecognized tax benefits as a component of the provision for income taxes.</span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-377-7"><ix:nonNumeric contextRef="c-1" name="us-gaap:ComprehensiveIncomePolicyPolicyTextBlock" id="f-423" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Comprehensive Income (Loss)</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other comprehensive income (loss) consists of unrealized gains (losses) on marketable securities, net of tax, and derivative financial instruments designated as cash flow hedges, net of tax, which are not included in the Company&#8217;s net income. Total comprehensive income includes net income and other comprehensive income (loss) and is included in the consolidated statements of comprehensive income.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" id="f-424" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Foreign Currency Transactions</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s operations are conducted in various countries around the world and the financial statements of its foreign subsidiaries are reported in the U.S. dollar as their respective functional currency. Monetary assets and liabilities denominated in foreign currencies have been re-measured into U.S. dollars using the exchange rates in effect at the balance sheet date, and income and expenses are re-measured at average exchange rates during the period. Foreign currency re-measurement gains and losses and foreign currency transaction gains and losses are recognized in other income (expense), net.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:EarningsPerSharePolicyTextBlock" id="f-425" escape="true"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Net Income Per Share </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic net income per share is computed by dividing net income by the weighted-average number of shares outstanding during the period. Diluted net income per share is computed by dividing net income by the weighted-average number of shares outstanding plus potentially dilutive shares outstanding during the period. The potentially dilutive shares are computed by applying the treasury stock method to the Company's stock options, RSUs and the stock purchase rights under the ESPP. Any potential shares that would be anti-dilutive are excluded from the computation of diluted net income per share.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="f-426" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recently Adopted Accounting Pronouncements</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recently Issued Accounting Pronouncements Not Yet Adopted</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2023, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2023-07 requiring enhanced segment disclosures. The ASU requires disclosure of significant segment expenses regularly provided to the chief operating decision maker ("CODM") included within segment operating profit or loss. Additionally, the ASU requires a description of how the CODM utilizes segment operating profit or loss to assess segment performance. The requirements of the ASU are effective for annual periods beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company's annual reporting requirements will be effective for fiscal 2024 and interim reporting requirements will be effective beginning with the first quarter of fiscal 2025. Early adoption is permitted and retrospective application is required for all periods presented. The Company is in the process of analyzing the impact of the ASU on related disclosures.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2023, the FASB issued ASU 2023-09 requiring enhanced income tax disclosures. The ASU requires disclosure of specific categories and disaggregation of information in the rate reconciliation table. The ASU also requires disclosure of disaggregated information related to income taxes paid, income or loss from continuing operations before income tax expense or benefit, and income tax expense or benefit from continuing operations. The requirements of the ASU are effective for annual periods beginning after December 15, 2024. Early adoption is permitted and the amendments should be applied on a prospective basis. Retrospective application is permitted. The Company is in the process of analyzing the impact of the ASU on related disclosures.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company does not believe any other new accounting pronouncements issued by the FASB that have not become effective will have a material impact on its consolidated financial statements.</span></div></ix:nonNumeric></ix:continuation><div id="i0668aaa2a4b841bfbaf18f9d4436768b_100"></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 2. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:FairValueDisclosuresTextBlock" id="f-427" continuedAt="f-427-1" escape="true">Fair Value of Financial Instruments</ix:nonNumeric></span></div><ix:continuation id="f-427-1" continuedAt="f-427-2"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. For certain of the Company&#8217;s financial instruments, including certain cash equivalents, accounts receivable, accounts payable and accrued liabilities, the carrying amounts approximate their fair values due to the relatively short maturity of these balances.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">67</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-427-2" continuedAt="f-427-3"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company measures and reports certain cash equivalents, marketable securities, derivative foreign currency forward contracts at fair value in accordance with the provisions of the authoritative accounting guidance that addresses fair value measurements. This guidance establishes a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. The hierarchy is broken down into three levels based on the reliability of inputs as follows:</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 1 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- Valuations based on quoted prices in active markets for identical assets or liabilities.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 2 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- Valuations based on other than quoted prices in active markets for identical assets and liabilities, including quoted prices for identical assets or liabilities in less active or inactive markets, quoted prices for similar assets or liabilities in active markets, or inputs other than quoted prices that are observable for substantially the full term of the assets or liabilities.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 3 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- Valuations based on inputs that are generally unobservable and typically reflect management&#8217;s estimates of assumptions that market participants would use in pricing the asset or liability.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's financial instruments consist of assets and liabilities measured using Level 1 and 2 inputs. Level 1 assets include a highly liquid money market fund, which is valued using unadjusted quoted prices that are available in an active market for an identical asset. Level 2 assets include fixed-income U.S. Treasury and government agency securities, commercial paper, corporate bonds, asset-backed securities, foreign government securities and derivative financial instruments consisting of foreign currency forward contracts. The securities, bonds and commercial paper are valued using prices from independent pricing services based on quoted prices of identical instruments in less active or inactive markets, quoted prices of similar instruments in active markets, or industry models using data inputs such as interest rates and prices that can be directly observed or corroborated in active markets. The foreign currency forward contracts are valued using observable inputs, such as quotations on forward foreign exchange points and foreign interest rates.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock" id="f-428" continuedAt="f-428-1" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth by level within the fair value hierarchy the fair value of the Company's financial assets and liabilities measured at fair value on a recurring basis:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-49" decimals="-3" name="us-gaap:MoneyMarketFundsAtCarryingValue" scale="3" id="f-429">87</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-50" decimals="-3" name="us-gaap:MoneyMarketFundsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-430">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-51" decimals="-3" name="us-gaap:MoneyMarketFundsAtCarryingValue" scale="3" id="f-431">87</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-49" decimals="-3" name="us-gaap:CommercialPaperAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-432">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-50" decimals="-3" name="us-gaap:CommercialPaperAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-433">54,279</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-51" decimals="-3" name="us-gaap:CommercialPaperAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-434">54,279</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-49" decimals="-3" name="us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-435">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-50" decimals="-3" name="us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-436">208,536</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-51" decimals="-3" name="us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-437">208,536</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-49" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue" format="ixt:fixed-zero" scale="3" id="f-438">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-50" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue" format="ixt:num-dot-decimal" scale="3" id="f-439">56,465</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-51" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue" format="ixt:num-dot-decimal" scale="3" id="f-440">56,465</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-49" decimals="-3" name="us-gaap:AssetBackedSecuritiesAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-441">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-50" decimals="-3" name="us-gaap:AssetBackedSecuritiesAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-442">13,881</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-51" decimals="-3" name="us-gaap:AssetBackedSecuritiesAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-443">13,881</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-49" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue" format="ixt:fixed-zero" scale="3" id="f-444">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-50" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue" scale="3" id="f-445">111</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-51" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue" scale="3" id="f-446">111</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-49" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedAtFairValue" scale="3" id="f-447">87</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-50" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedAtFairValue" format="ixt:num-dot-decimal" scale="3" id="f-448">333,272</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-51" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedAtFairValue" format="ixt:num-dot-decimal" scale="3" id="f-449">333,359</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-49" decimals="-3" name="us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="f-450">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-50" decimals="-3" name="us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-451">1,986</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-51" decimals="-3" name="us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-452">1,986</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-49" decimals="-3" name="us-gaap:FinancialLiabilitiesFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="f-453">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-50" decimals="-3" name="us-gaap:FinancialLiabilitiesFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-454">1,986</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-51" decimals="-3" name="us-gaap:FinancialLiabilitiesFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-455">1,986</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-427-3" continuedAt="f-427-4"><ix:continuation id="f-428-1"><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-52" decimals="-3" name="us-gaap:MoneyMarketFundsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-456">82,701</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-53" decimals="-3" name="us-gaap:MoneyMarketFundsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-457">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-54" decimals="-3" name="us-gaap:MoneyMarketFundsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-458">82,701</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-52" decimals="-3" name="us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-459">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-53" decimals="-3" name="us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-460">156,662</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-54" decimals="-3" name="us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-461">156,662</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign government</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-52" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue" format="ixt:fixed-zero" scale="3" id="f-462">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-53" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue" format="ixt:num-dot-decimal" scale="3" id="f-463">1,006</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-54" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue" format="ixt:num-dot-decimal" scale="3" id="f-464">1,006</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-52" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue" format="ixt:fixed-zero" scale="3" id="f-465">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-53" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue" format="ixt:num-dot-decimal" scale="3" id="f-466">63,910</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-54" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue" format="ixt:num-dot-decimal" scale="3" id="f-467">63,910</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-52" decimals="-3" name="us-gaap:AssetBackedSecuritiesAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-468">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-53" decimals="-3" name="us-gaap:AssetBackedSecuritiesAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-469">15,027</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-54" decimals="-3" name="us-gaap:AssetBackedSecuritiesAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-470">15,027</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-52" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue" format="ixt:fixed-zero" scale="3" id="f-471">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-53" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue" format="ixt:num-dot-decimal" scale="3" id="f-472">1,493</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-54" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue" format="ixt:num-dot-decimal" scale="3" id="f-473">1,493</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-52" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedAtFairValue" format="ixt:num-dot-decimal" scale="3" id="f-474">82,701</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-53" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedAtFairValue" format="ixt:num-dot-decimal" scale="3" id="f-475">238,098</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-54" decimals="-3" name="us-gaap:FinancialInstrumentsOwnedAtFairValue" format="ixt:num-dot-decimal" scale="3" id="f-476">320,799</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-52" decimals="-3" name="us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="f-477">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-53" decimals="-3" name="us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-478">4,679</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-54" decimals="-3" name="us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-479">4,679</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-52" decimals="-3" name="us-gaap:FinancialLiabilitiesFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="f-480">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-53" decimals="-3" name="us-gaap:FinancialLiabilitiesFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-481">4,679</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-54" decimals="-3" name="us-gaap:FinancialLiabilitiesFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-482">4,679</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no transfers between Level 1, Level 2 and Level 3 categories during the years ended December&#160;31, 2023 and 2022.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash equivalent and investments</span></div><ix:nonNumeric contextRef="c-1" name="qlys:CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock" id="f-483" continuedAt="f-483-1" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's cash equivalents and marketable securities consist of the following:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:47.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents: (1)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-55" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="f-484">87</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-55" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-485">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-55" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:fixed-zero" scale="3" id="f-486">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-55" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="f-487">87</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-56" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-488">54,620</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-56" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-489">4</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-56" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:fixed-zero" scale="3" id="f-490">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-56" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-491">54,624</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-57" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-492">54,707</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-57" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-493">4</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-57" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:fixed-zero" scale="3" id="f-494">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-57" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-495">54,711</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Short-term marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-58" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-496">54,254</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-58" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-497">32</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-58" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-498">7</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-58" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-499">54,279</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-59" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-500">23,013</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-59" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-501">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-59" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-502">149</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-59" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-503">22,865</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-60" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-504">144,901</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-60" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-505">52</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-60" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-506">204</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-60" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-507">144,749</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-61" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-508">222,168</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-61" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-509">85</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-61" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-510">360</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-61" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-511">221,893</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-62" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-512">33,337</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-62" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-513">285</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-62" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-514">22</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-62" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-515">33,600</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-63" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-516">13,785</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-63" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-517">102</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-63" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-518">6</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-63" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-519">13,881</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-64" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-520">9,116</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-64" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-521">49</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-64" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-522">2</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-64" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-523">9,163</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-65" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-524">56,238</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-65" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-525">436</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-65" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-526">30</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-65" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-527">56,644</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-528">333,113</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-529">525</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-530">390</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-531">333,248</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="padding-left:40.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Excludes cash of $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:Cash" format="ixt:num-dot-decimal" scale="6" id="f-532">149.0</ix:nonFraction> million. </span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">69</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-427-4" continuedAt="f-427-5"><ix:continuation id="f-483-1" continuedAt="f-483-2"><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:47.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents: (1)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-66" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-533">82,701</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-66" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-534">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-66" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:fixed-zero" scale="3" id="f-535">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-66" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-536">82,701</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-67" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-537">29,787</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-67" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-538">4</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-67" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:fixed-zero" scale="3" id="f-539">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-67" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-540">29,791</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-68" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-541">112,488</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-68" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-542">4</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-68" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:fixed-zero" scale="3" id="f-543">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-68" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-544">112,492</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Short-term marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-69" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-545">36,908</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-69" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-546">3</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-69" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-547">337</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-69" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-548">36,574</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-70" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="f-549">726</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-70" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-550">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-70" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-551">2</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-70" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="f-552">724</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-71" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-553">110,225</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-71" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-554">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-71" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-555">921</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-71" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-556">109,304</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign government</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-72" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-557">1,008</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-72" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-558">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-72" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-559">2</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-72" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-560">1,006</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-73" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-561">148,867</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-73" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-562">3</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-73" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="f-563">1,262</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-73" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-564">147,608</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-74" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-565">28,146</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-74" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-566">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-74" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-567">810</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-74" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-568">27,336</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-75" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-569">14,435</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-75" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-570">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-75" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-571">132</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-75" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-572">14,303</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-76" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-573">18,076</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-76" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-574">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-76" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-575">509</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-76" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-576">17,567</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-77" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-577">60,657</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-77" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-578">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-77" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="f-579">1,451</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-77" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-580">59,206</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-581">322,012</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-582">7</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="f-583">2,713</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-584">319,306</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation><div style="padding-left:31.5pt;text-indent:-13.5pt"><ix:continuation id="f-483-2" continuedAt="f-483-3"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span></ix:continuation><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt"><ix:continuation id="f-483-3">Excludes cash of $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:Cash" format="ixt:num-dot-decimal" scale="6" id="f-585">61.2</ix:nonFraction> million.</ix:continuation> </span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock" id="f-586" continuedAt="f-586-1" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the gross unrealized losses and fair value of the Company's marketable securities that were in an unrealized loss position aggregated by length of time: </span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:22.328%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.185%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.185%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.185%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.185%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.185%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.192%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Less than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">12 months or longer</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" format="ixt:num-dot-decimal" scale="3" id="f-587">24,838</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" scale="3" id="f-588">7</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" format="ixt:fixed-zero" scale="3" id="f-589">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" format="ixt:fixed-zero" scale="3" id="f-590">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" format="ixt:num-dot-decimal" scale="3" id="f-591">24,838</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" scale="3" id="f-592">7</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" format="ixt:fixed-zero" scale="3" id="f-593">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" format="ixt:fixed-zero" scale="3" id="f-594">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" format="ixt:num-dot-decimal" scale="3" id="f-595">1,485</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" scale="3" id="f-596">6</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" format="ixt:num-dot-decimal" scale="3" id="f-597">1,485</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" scale="3" id="f-598">6</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" format="ixt:fixed-zero" scale="3" id="f-599">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" format="ixt:fixed-zero" scale="3" id="f-600">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" format="ixt:num-dot-decimal" scale="3" id="f-601">20,717</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" scale="3" id="f-602">171</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" format="ixt:num-dot-decimal" scale="3" id="f-603">20,717</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" scale="3" id="f-604">171</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" format="ixt:num-dot-decimal" scale="3" id="f-605">43,373</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" scale="3" id="f-606">18</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" format="ixt:num-dot-decimal" scale="3" id="f-607">18,172</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" scale="3" id="f-608">188</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" format="ixt:num-dot-decimal" scale="3" id="f-609">61,545</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" scale="3" id="f-610">206</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" format="ixt:num-dot-decimal" scale="3" id="f-611">68,211</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" scale="3" id="f-612">25</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" format="ixt:num-dot-decimal" scale="3" id="f-613">40,374</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" scale="3" id="f-614">365</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" format="ixt:num-dot-decimal" scale="3" id="f-615">108,585</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" scale="3" id="f-616">390</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">70</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-427-5" continuedAt="f-427-6"><ix:continuation id="f-586-1"><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:21.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.334%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Less than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">12 months or longer</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign government agencies</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" scale="3" id="f-617">998</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" scale="3" id="f-618">2</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" format="ixt:fixed-zero" scale="3" id="f-619">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" format="ixt:fixed-zero" scale="3" id="f-620">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" scale="3" id="f-621">998</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" scale="3" id="f-622">2</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" format="ixt:num-dot-decimal" scale="3" id="f-623">13,365</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" scale="3" id="f-624">124</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" format="ixt:num-dot-decimal" scale="3" id="f-625">1,652</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" scale="3" id="f-626">10</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" format="ixt:num-dot-decimal" scale="3" id="f-627">15,017</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" scale="3" id="f-628">134</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" format="ixt:num-dot-decimal" scale="3" id="f-629">33,800</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" scale="3" id="f-630">389</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" format="ixt:num-dot-decimal" scale="3" id="f-631">26,326</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" scale="3" id="f-632">758</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" format="ixt:num-dot-decimal" scale="3" id="f-633">60,126</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" format="ixt:num-dot-decimal" scale="3" id="f-634">1,147</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-85" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" format="ixt:num-dot-decimal" scale="3" id="f-635">89,802</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-85" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" format="ixt:num-dot-decimal" scale="3" id="f-636">1,175</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-85" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" format="ixt:num-dot-decimal" scale="3" id="f-637">36,833</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-85" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" scale="3" id="f-638">255</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-85" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" format="ixt:num-dot-decimal" scale="3" id="f-639">126,635</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-85" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" format="ixt:num-dot-decimal" scale="3" id="f-640">1,430</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" format="ixt:num-dot-decimal" scale="3" id="f-641">137,965</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" format="ixt:num-dot-decimal" scale="3" id="f-642">1,690</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" format="ixt:num-dot-decimal" scale="3" id="f-643">64,811</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" format="ixt:num-dot-decimal" scale="3" id="f-644">1,023</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" format="ixt:num-dot-decimal" scale="3" id="f-645">202,776</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" format="ixt:num-dot-decimal" scale="3" id="f-646">2,713</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company considered the extent to which any unrealized losses on its marketable securities were driven by credit risk and other factors, including market risk, and if it is more-likely-than-not that the Company would have to sell the security before the recovery of the amortized cost basis. At December 31, 2023 and 2022, the unrealized losses related to its marketable securities were due to rising market interest rates compared to when the investments were initiated. The Company does not believe the unrealized losses represent credit risk, and the Company does not intend to sell any of the securities in an unrealized loss position and it is not likely that the Company would be required to sell these securities before recovery of their amortized cost basis, which may be at maturity. Thus, no credit loss was recognized for the Company's marketable securities for the years ended December 31, 2023 and 2022.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock" id="f-647" escape="true"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes the fair value of marketable securities by contractual maturity:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:73.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.330%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due within One Year</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" format="ixt:num-dot-decimal" scale="3" id="f-648">276,875</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" format="ixt:num-dot-decimal" scale="3" id="f-649">276,604</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due after One Year through Two Years</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" format="ixt:num-dot-decimal" scale="3" id="f-650">27,814</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" format="ixt:num-dot-decimal" scale="3" id="f-651">27,982</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Mature over Two Years</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost" format="ixt:num-dot-decimal" scale="3" id="f-652">14,639</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue" format="ixt:num-dot-decimal" scale="3" id="f-653">14,781</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost" format="ixt:num-dot-decimal" scale="3" id="f-654">13,785</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue" format="ixt:num-dot-decimal" scale="3" id="f-655">13,881</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-656">333,113</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-657">333,248</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Derivative Financial Instruments</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Designated cash flow hedges</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company enters into foreign currency forward contracts to reduce the risk of variability in future cash flow due to foreign currency exchange rate fluctuation from certain forecasted subscription revenue orders billed in GBP and EUR and operation expenses incurred in INR, which are designated as cash flow hedges. Hedge effectiveness is assessed at inception and at each reporting period utilizing regression analysis. Unrealized foreign exchange gains or losses related to those designated cash flow hedge contracts are recorded in accumulated other comprehensive income ("AOCI") and will be reclassified into revenues or operating expenses, respectively, in the same periods when the hedged transactions are recognized in earnings.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, the Company had designated cash flow hedge forward contracts with notional amounts of &#8364;<ix:nonFraction unitRef="eur" contextRef="c-86" decimals="-5" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="6" id="f-658">48.5</ix:nonFraction> million, &#163;<ix:nonFraction unitRef="gbp" contextRef="c-86" decimals="-5" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="6" id="f-659">14.6</ix:nonFraction> million and Rs.<ix:nonFraction unitRef="inr" contextRef="c-86" decimals="-5" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="6" id="f-660">4,042.0</ix:nonFraction> million. As of December&#160;31, 2022, the Company had designated cash flow hedge forward contracts with notional amounts of &#8364;<ix:nonFraction unitRef="eur" contextRef="c-87" decimals="-5" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="6" id="f-661">37.4</ix:nonFraction> million, &#163;<ix:nonFraction unitRef="gbp" contextRef="c-87" decimals="-5" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="6" id="f-662">10.4</ix:nonFraction> million and Rs.<ix:nonFraction unitRef="inr" contextRef="c-87" decimals="-5" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="6" id="f-663">3,411.0</ix:nonFraction> million.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">71</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-427-6"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, a net amount of unrealized loss of $<ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-5" sign="-" name="us-gaap:ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months" format="ixt:num-dot-decimal" scale="6" id="f-664">1.5</ix:nonFraction> million before tax on the foreign currency forward contracts for GBP and EUR reported in AOCI is expected to be reclassified into revenue within the next 12 months. As of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, an immaterial amount of unrealized loss before tax on the foreign currency forward contracts for INR reported in AOCI is expected to be reclassified into operating expenses within the next 12 months.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Non-designated forward contracts</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company also uses foreign currency forward contracts to hedge certain foreign currency denominated assets or liabilities, which are not designated as cash flow hedges. Unrealized foreign exchange gain or losses related to the non-designated forward contracts are recorded in other income (expenses), net and offset the foreign exchange gain or loss on the underlying net monetary assets or liabilities.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, the Company had non-designated forward contracts with notional amounts of &#8364;<ix:nonFraction unitRef="eur" contextRef="c-89" decimals="-5" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="6" id="f-665">19.2</ix:nonFraction> million, &#163;<ix:nonFraction unitRef="gbp" contextRef="c-89" decimals="-5" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="6" id="f-666">6.0</ix:nonFraction> million, Rs.<ix:nonFraction unitRef="inr" contextRef="c-89" decimals="-5" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="6" id="f-667">440.0</ix:nonFraction> million, and C$<ix:nonFraction unitRef="cad" contextRef="c-89" decimals="-5" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="6" id="f-668">1.0</ix:nonFraction> million. As of December&#160;31, 2022, the Company had non-designated forward contracts with notional amounts of &#8364;<ix:nonFraction unitRef="eur" contextRef="c-90" decimals="-5" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="6" id="f-669">40.2</ix:nonFraction> million, &#163;<ix:nonFraction unitRef="gbp" contextRef="c-90" decimals="-5" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="6" id="f-670">16.2</ix:nonFraction> million, Rs.<ix:nonFraction unitRef="inr" contextRef="c-90" decimals="-5" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="6" id="f-671">484.0</ix:nonFraction> million, and C$<ix:nonFraction unitRef="cad" contextRef="c-90" decimals="-5" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="6" id="f-672">3.8</ix:nonFraction> million.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfDerivativeInstrumentsTextBlock" id="f-673" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the fair value of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">derivative financial instruments as of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and 2022:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:73.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.330%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands) </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts designated as cash flow hedge</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-91" decimals="-3" name="us-gaap:ForeignCurrencyContractAssetFairValueDisclosure" scale="3" id="f-674">63</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-92" decimals="-3" name="us-gaap:ForeignCurrencyContractAssetFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-675">1,041</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts not designated as hedging instruments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-93" decimals="-3" name="us-gaap:ForeignCurrencyContractAssetFairValueDisclosure" scale="3" id="f-676">48</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-94" decimals="-3" name="us-gaap:ForeignCurrencyContractAssetFairValueDisclosure" scale="3" id="f-677">452</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ForeignCurrencyContractAssetFairValueDisclosure" scale="3" id="f-678">111</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ForeignCurrencyContractAssetFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-679">1,493</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Liabilities</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts designated as cash flow hedge</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-91" decimals="-3" name="us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-680">1,502</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-92" decimals="-3" name="us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-681">2,634</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts not designated as hedging instruments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-93" decimals="-3" name="us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure" scale="3" id="f-682">484</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-94" decimals="-3" name="us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-683">2,045</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-684">1,986</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-685">4,679</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company presents its derivative assets and derivative liabilities at gross fair values in the consolidated balance sheets. However, under the master netting agreements with the respective counterparties of the foreign exchange contracts, subject to applicable requirements, the Company is allowed to net settle transactions of the same currency with a single net amount payable by one party to the other. The potential offset to both assets and liabilities under the right of set-off associated with the Company's foreign currency exchange contracts are immaterial as of December&#160;31, 2023 and 2022. The derivatives held by the Company are not subject to any credit contingent features negotiated with its counterparties. The Company is not required to pledge nor is entitled to receive cash collateral related to the above contracts. The counterparties to these derivatives are large, global financial institutions that the Company believes are creditworthy, and therefore, it does not consider the risk of counterparty nonperformance to be material. </span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" id="f-686" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes the gains (losses) recognized from forward contracts and other foreign currency transactions in other income (expense), net in the consolidated statements of operations:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands) </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net (losses) gains from non-designated forward contracts</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments" scale="3" id="f-687">198</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments" format="ixt:num-dot-decimal" scale="3" id="f-688">5,093</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments" format="ixt:num-dot-decimal" scale="3" id="f-689">2,452</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other foreign currency transactions losses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="f-690">499</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-691">6,864</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-692">2,749</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total foreign exchange losses, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" id="f-693">697</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="f-694">1,771</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" id="f-695">297</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">72</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_103"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:24pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 3. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:ComprehensiveIncomeNoteTextBlock" id="f-696" continuedAt="f-696-1" escape="true">Accumulated Other Comprehensive Income (Loss)</ix:nonNumeric></span></div><ix:continuation id="f-696-1"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" id="f-697" escape="true"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components and changes in accumulated other comprehensive income (loss) were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Available-for-sale debt securities</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cash flow hedges</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balances at December 31, 2020</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-95" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-698">1,224</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-96" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-699">1,708</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-12" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="f-700">484</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in unrealized gains (losses) during the period</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-97" decimals="-3" sign="-" name="us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-701">1,854</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-98" decimals="-3" name="us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-702">2,837</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent" scale="3" id="f-703">983</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amount reclassified into income during the period</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-97" decimals="-3" sign="-" name="us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent" scale="3" id="f-704">22</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-98" decimals="-3" sign="-" name="us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent" scale="3" id="f-705">933</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent" scale="3" id="f-706">955</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tax effect</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-97" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" scale="3" id="f-707">423</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-98" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" scale="3" id="f-708">870</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" scale="3" id="f-709">447</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net change during the period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-97" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-710">1,409</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-98" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-711">2,900</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-712">1,491</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balances at December 31, 2021</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-99" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="f-713">185</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-100" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-714">1,192</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-20" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-715">1,007</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in unrealized gains (losses) during the period</span></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-101" decimals="-3" sign="-" name="us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-716">2,462</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-102" decimals="-3" name="us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent" scale="3" id="f-717">581</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-718">1,881</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amount reclassified into income during the period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-101" decimals="-3" name="us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent" format="ixt:fixed-zero" scale="3" id="f-719">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-102" decimals="-3" name="us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-720">1,147</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-721">1,147</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tax effect</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-101" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" scale="3" id="f-722">58</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-102" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" scale="3" id="f-723">132</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" scale="3" id="f-724">74</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net change during the period</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-101" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-725">2,520</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-102" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="f-726">434</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-727">2,954</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balances at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-103" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-728">2,705</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-104" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-729">758</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-28" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-730">1,947</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in unrealized gains (losses) during the period</span></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-105" decimals="-3" name="us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-731">2,858</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-106" decimals="-3" sign="-" name="us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-732">1,362</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-733">1,496</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amount reclassified into income during the period</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-105" decimals="-3" name="us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent" scale="3" id="f-734">16</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-106" decimals="-3" name="us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-735">1,957</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-736">1,973</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tax effect</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-105" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" scale="3" id="f-737">29</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-106" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" scale="3" id="f-738">749</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" scale="3" id="f-739">720</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net change during the period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-105" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-740">2,813</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-106" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-741">2,570</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="f-742">243</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balances at December 31, 2023</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-107" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-743">108</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-108" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-744">1,812</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-36" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-745">1,704</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock" id="f-746" escape="true"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The effects on income before income taxes of amounts reclassified from AOCI to the consolidated statements of operations were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Reclassification of AOCI - Available-for-sale debt securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other income (expense), net</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-109" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="f-747">16</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-110" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" format="ixt:fixed-zero" scale="3" id="f-748">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-111" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="f-749">22</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Reclassification of AOCI - Cash flow hedges</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-112" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-750">3,077</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-113" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-751">1,897</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-114" decimals="-3" sign="-" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-752">1,667</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenues</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-112" decimals="-3" name="us-gaap:CostOfRevenue" scale="3" id="f-753">258</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-113" decimals="-3" name="us-gaap:CostOfRevenue" scale="3" id="f-754">169</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-114" decimals="-3" sign="-" name="us-gaap:CostOfRevenue" scale="3" id="f-755">149</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-112" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="f-756">712</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-113" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="f-757">478</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-114" decimals="-3" sign="-" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="f-758">492</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-112" decimals="-3" name="us-gaap:SellingAndMarketingExpense" scale="3" id="f-759">44</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-113" decimals="-3" name="us-gaap:SellingAndMarketingExpense" scale="3" id="f-760">30</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-114" decimals="-3" sign="-" name="us-gaap:SellingAndMarketingExpense" scale="3" id="f-761">28</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-112" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="f-762">106</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-113" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="f-763">73</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-114" decimals="-3" sign="-" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="f-764">65</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-112" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-765">1,957</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-113" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-766">1,147</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-114" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" scale="3" id="f-767">933</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">73</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_106"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:24pt;padding-left:54pt;text-align:justify;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 4. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="f-768" continuedAt="f-768-1" escape="true">Property and Equipment, Net</ix:nonNumeric></span></div><ix:continuation id="f-768-1"><ix:nonNumeric contextRef="c-1" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="f-769" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net, which includes assets under finance leases, consists of the following: </span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:73.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.330%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computer equipment</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-115" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-770">179,002</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-116" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-771">173,832</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computer software</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-117" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-772">26,133</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-118" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-773">25,808</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Leasehold improvements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-119" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-774">20,924</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-120" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-775">21,009</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Scanner appliances</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-46" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-776">18,369</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-121" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-777">15,696</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furniture, fixtures and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-122" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-778">6,699</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-123" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-779">6,524</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total property and equipment</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-780">251,127</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-781">242,869</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: accumulated depreciation and amortization</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-782">218,528</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-783">195,441</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="f-784">32,599</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="f-785">47,428</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and 2022, physical scanner appliances and other computer equipment that are or will be subject to leases by customers had a net carrying value of $<ix:nonFraction unitRef="usd" contextRef="c-124" decimals="-5" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="6" id="f-786">10.1</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-125" decimals="-5" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="6" id="f-787">6.7</ix:nonFraction> million, respectively, including assets that had not been placed in service of $<ix:nonFraction unitRef="usd" contextRef="c-126" decimals="-5" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="6" id="f-788">6.4</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-127" decimals="-5" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="6" id="f-789">4.0</ix:nonFraction> million, respectively. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation and amortization expenses relating to property and equipment were $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="qlys:DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization" format="ixt:num-dot-decimal" scale="6" id="f-790">23.9</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="qlys:DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization" format="ixt:num-dot-decimal" scale="6" id="f-791">28.2</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="qlys:DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization" format="ixt:num-dot-decimal" scale="6" id="f-792">28.5</ix:nonFraction> million for the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021, respectively, which were mainly recorded in cost of revenues in the consolidated statements of operations.</span></div></ix:continuation><div id="i0668aaa2a4b841bfbaf18f9d4436768b_109"></div><div style="margin-top:24pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 5. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="f-793" continuedAt="f-793-1" escape="true">Revenue from Contracts with Customers</ix:nonNumeric></span></div><ix:continuation id="f-793-1" continuedAt="f-793-2"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company records deferred revenue when cash payments are received or due in advance of its performance obligations offset by revenue recognized in the period. Revenues of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" format="ixt:num-dot-decimal" scale="6" id="f-794">292.2</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" format="ixt:num-dot-decimal" scale="6" id="f-795">254.9</ix:nonFraction> million were recognized during the years ended </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2022</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, respectively, which amounts were included in the deferred revenue balances of $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="6" id="f-796">317.2</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-5" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="6" id="f-797">290.6</ix:nonFraction> million as of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2022</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2021</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, respectively</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's payment terms vary by the type and location of its customers. The term between invoicing and when payment is due is not significant. In certain circumstances, based on the credit quality of the customer, the Company requires payment before the products or services are delivered to the customer.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" id="f-798" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the expected revenue from all remaining performance obligations as of December&#160;31, 2023:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:84.614%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.186%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-128" decimals="-3" name="us-gaap:RevenueRemainingPerformanceObligation" format="ixt:num-dot-decimal" scale="3" id="f-799">200,872</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-129" decimals="-3" name="us-gaap:RevenueRemainingPerformanceObligation" format="ixt:num-dot-decimal" scale="3" id="f-800">122,465</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-130" decimals="-3" name="us-gaap:RevenueRemainingPerformanceObligation" format="ixt:num-dot-decimal" scale="3" id="f-801">46,327</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-131" decimals="-3" name="us-gaap:RevenueRemainingPerformanceObligation" format="ixt:num-dot-decimal" scale="3" id="f-802">4,291</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-132" decimals="-3" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" id="f-803">397</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2029 and thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-133" decimals="-3" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" id="f-804">63</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:RevenueRemainingPerformanceObligation" format="ixt:num-dot-decimal" scale="3" id="f-805">374,415</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues allocated to remaining performance obligations represents the transaction price of noncancelable orders for which service has not been performed, which include deferred revenue and the amounts that will be invoiced and recognized as revenues in future periods from open contracts and excludes unexercised renewals. The Company applied the short-term contract exemption to exclude the remaining performance obligations that are part of a contract that has an original expected duration of one year or less.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-793-2"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company enters into contracts with customers that extend beyond one year, with certain of its customers electing to pay for more than one year of services upon contract execution. The Company concluded that these contracts did not contain a financing component.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="f-806" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues by sales channel are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Direct</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-134" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-807">314,988</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-135" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-808">285,382</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-136" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-809">243,389</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Partner</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-137" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-810">239,470</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-138" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-811">204,341</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-139" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-812">167,783</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-813">554,458</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-814">489,723</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-815">411,172</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company utilizes partners to enable and accelerate the adoption of its cloud platform by increasing its distribution capabilities and market awareness of its cloud platform as well as by targeting geographic regions outside the reach of its direct sales force. The Company's channel partners maintain relationships with their customers throughout the territories in which they operate and provide their customers with services and third-party solutions to help meet those customers&#8217; evolving security and compliance requirements. As such, these partners may offer the Company's IT security and compliance solutions in conjunction with one or more of their own products or services and act as a conduit through which the Company can connect with these prospective customers to offer its solutions. For sales involving a channel partner, the channel partner engages with the prospective customer directly and involves the Company's sales team as needed to assist in developing and closing an order. When a channel partner secures a sale, the Company sells the associated subscription to the channel partner who in turn resells the subscription to the customer. Sales to channel partners are made at a discount and revenues are recorded at this discounted price over the subscription terms. The Company does not have any influence or specific knowledge of its partners' selling terms with their customers. See Note 13, "Segment and Geographic Area Information" for disaggregation of revenue by geographic area.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:CapitalizedContractCostTableTextBlock" id="f-816" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred costs to obtain contracts are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:73.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.330%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CapitalizedContractCostNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-817">5,858</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CapitalizedContractCostNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-818">5,018</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Noncurrent</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CapitalizedContractCostNetNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-819">11,844</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CapitalizedContractCostNetNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-820">10,090</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021, the Company recognized $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:CapitalizedContractCostAmortization" format="ixt:num-dot-decimal" scale="6" id="f-821">6.0</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:CapitalizedContractCostAmortization" format="ixt:num-dot-decimal" scale="6" id="f-822">5.0</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:CapitalizedContractCostAmortization" format="ixt:num-dot-decimal" scale="6" id="f-823">4.0</ix:nonFraction> million, respectively, of amortization expense relating to deferred costs to obtain contracts </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">in sales and marketing expense in the consolidated statements of operations.</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> During the same periods, there was <ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:CapitalizedContractCostImpairmentLoss" format="ixt:fixed-zero" scale="6" id="f-824"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:CapitalizedContractCostImpairmentLoss" format="ixt:fixed-zero" scale="6" id="f-825"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:CapitalizedContractCostImpairmentLoss" format="ixt:fixed-zero" scale="6" id="f-826">no</ix:nonFraction></ix:nonFraction></ix:nonFraction> impairment loss related to the deferred costs to obtain contracts.</span></div></ix:continuation><div id="i0668aaa2a4b841bfbaf18f9d4436768b_115"></div><div style="margin-top:24pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 6. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:AssetAcquisitionTextBlock" id="f-833" continuedAt="f-833-1" escape="true">Acquisitions</ix:nonNumeric></span></div><ix:continuation id="f-833-1" continuedAt="f-833-2"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October&#160;4, 2022, the Company acquired certain assets of Blue Hexagon Inc., a privately held company incorporated in Delaware, for $<ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-5" name="us-gaap:AssetAcquisitionConsiderationTransferred" format="ixt:num-dot-decimal" scale="6" id="f-834">10.0</ix:nonFraction> million in cash, of which $<ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-5" name="us-gaap:PaymentsToAcquireProductiveAssets" format="ixt:num-dot-decimal" scale="6" id="f-835">8.5</ix:nonFraction> million was paid on the acquisition date and the remaining $<ix:nonFraction unitRef="usd" contextRef="c-141" decimals="-5" name="qlys:AssetAcquisitionConsiderationTransferredPayable" format="ixt:num-dot-decimal" scale="6" id="f-836">1.5</ix:nonFraction> million will be due <ix:nonNumeric contextRef="c-140" name="qlys:AssetAcquisitionConsiderationPayableTerm" format="ixt-sec:durwordsen" id="f-837">eighteen months</ix:nonNumeric> from the acquisition date, subject to potential adjustment from possible indemnity claims. In addition, the Company assumed $<ix:nonFraction unitRef="usd" contextRef="c-141" decimals="-5" name="qlys:AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" format="ixt:num-dot-decimal" scale="6" id="f-838">1.4</ix:nonFraction> million deferred revenue. Blue Hexagon's AI/ML-driven network detection enables the Company to leverage its cloud platform with AI/machine learning to uncover behavior patterns including active vulnerability exploitation, identification of advanced network threats, and adaptive risk mitigation across all assets and application. The Company accounted for this transaction as an asset acquisition, as substantially all of the fair value is concentrated in developed technology acquired. The Company incurred $<ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-5" name="qlys:AssetAcquisitionAcquisitionRelatedCosts" format="ixt:num-dot-decimal" scale="6" id="f-839">0.6</ix:nonFraction> million transaction costs which is included as the cost of acquiring the intangible assets. The Company recognized intangible assets of $<ix:nonFraction unitRef="usd" contextRef="c-142" decimals="-5" name="qlys:AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles" format="ixt:num-dot-decimal" scale="6" id="f-840">11.5</ix:nonFraction> million for developed technology and $<ix:nonFraction unitRef="usd" contextRef="c-143" decimals="-5" name="qlys:AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles" format="ixt:num-dot-decimal" scale="6" id="f-841">0.4</ix:nonFraction> million for assembled workforce, which will be amortized over <ix:nonNumeric contextRef="c-142" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:durwordsen" id="f-842">five years</ix:nonNumeric> and <ix:nonNumeric contextRef="c-143" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:durwordsen" id="f-843">two years</ix:nonNumeric>, respectively. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August&#160;19, 2021, the Company acquired certain developed technology intangible assets of TotalCloud, a privately held company incorporated in India, for a total cash consideration of $<ix:nonFraction unitRef="usd" contextRef="c-144" decimals="-5" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" format="ixt:num-dot-decimal" scale="6" id="f-844">1.2</ix:nonFraction> million, of which $<ix:nonFraction unitRef="usd" contextRef="c-144" decimals="-5" name="us-gaap:PaymentsToAcquireIntangibleAssets" format="ixt:num-dot-decimal" scale="6" id="f-845">1.1</ix:nonFraction> million was paid on the acquisition </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">75</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-833-2"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">date and the remaining $<ix:nonFraction unitRef="usd" contextRef="c-145" decimals="-5" name="us-gaap:PaymentsToAcquireIntangibleAssets" format="ixt:num-dot-decimal" scale="6" id="f-846">0.1</ix:nonFraction> million was deferred and paid in August 2022. TotalCloud's technology strengthens the Company's cloud security solution by allowing customers to build user-defined workflows for custom policies and execute them on-demand for simplified security and compliance. The acquired intangible assets will be amortized over <ix:nonNumeric contextRef="c-146" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:durwordsen" id="f-847">five years</ix:nonNumeric>.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no changes in the carrying amount of goodwill for the years ended December&#160;31, 2023 and 2022.</span></div></ix:continuation><div id="i0668aaa2a4b841bfbaf18f9d4436768b_118"></div><div style="margin-top:24pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 7. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:IntangibleAssetsDisclosureTextBlock" id="f-848" continuedAt="f-848-1" escape="true">Intangible Assets, Net</ix:nonNumeric></span></div><ix:continuation id="f-848-1"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets consist primarily of developed technology and patent licenses acquired from business or asset acquisitions. Acquired intangibles are amortized on a straight-line basis over the respective estimated useful lives of the assets.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" id="f-850" escape="true"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock" id="f-849" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying values of intangible assets are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:33.900%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.333%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Life <br/>(Years)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average <br/>Remaining Life (Years)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization </span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net Book Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developed technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-147" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-851">4.6</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-147" name="us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" format="ixt-sec:duryear" id="f-852">1.1</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-147" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-853">40,141</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-147" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-854">30,667</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-147" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-855">9,474</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Patent licenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-148" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-856">14.0</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-148" name="us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" format="ixt-sec:duryear" id="f-857">0.7</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-148" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-858">1,387</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-148" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-859">1,322</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-148" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="f-860">65</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assembled workforce</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-149" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-861">2.0</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-149" name="us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" format="ixt-sec:duryear" id="f-862">0.8</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-149" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="f-863">359</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-149" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="f-864">223</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-149" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="f-865">136</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangibles subject to amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-866">41,887</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-867">32,212</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-868">9,675</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets not subject to amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" scale="3" id="f-869">40</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-870">9,715</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:33.900%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.333%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Life <br/>(Years)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average <br/>Remaining Life (Years)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net Book Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developed technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-150" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-871">4.6</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-150" name="us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" format="ixt-sec:duryear" id="f-872">1.4</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-150" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-873">40,141</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-150" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-874">27,860</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-150" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-875">12,281</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Patent licenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-151" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-876">14.0</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-151" name="us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" format="ixt-sec:duryear" id="f-877">1.7</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-151" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-878">1,387</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-151" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-879">1,221</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-151" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="f-880">166</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assembled workforce</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-152" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-881">2.0</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-152" name="us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" format="ixt-sec:duryear" id="f-882">1.7</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-152" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="f-883">359</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-152" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="f-884">45</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-152" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="f-885">314</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangibles subject to amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-886">41,887</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-887">29,126</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-888">12,761</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets not subject to amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" scale="3" id="f-889">40</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-890">12,801</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:nonNumeric><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets amortization expenses were $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="6" id="f-891">3.1</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="6" id="f-892">5.7</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="6" id="f-893">6.7</ix:nonFraction> million for the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">years ended December&#160;31, 2023, 2022 and 2021, respectively, which were recorded in the consolidated statements of operations.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="f-894" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, the Company expects amortization expense in future periods to be as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:84.614%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.186%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="f-895">2,904</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" format="ixt:num-dot-decimal" scale="3" id="f-896">2,556</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" format="ixt:num-dot-decimal" scale="3" id="f-897">2,477</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" format="ixt:num-dot-decimal" scale="3" id="f-898">1,738</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total expected future amortization expense</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-899">9,675</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">76</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_121"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:24pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 8. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:LesseeOperatingLeasesTextBlock" id="f-901" continuedAt="f-901-1" escape="true"><ix:nonNumeric contextRef="c-1" name="us-gaap:LesseeFinanceLeasesTextBlock" id="f-900" continuedAt="f-900-1" escape="true">Leases</ix:nonNumeric></ix:nonNumeric></span></div><ix:continuation id="f-901-1"><ix:continuation id="f-900-1"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases certain offices, computer equipment and its shared cloud platform facilities under non-cancelable operating leases for varying periods through 2028. While under the Company's lease agreements the Company has options to extend its certain leases, the Company has not included renewal options in determining the lease terms for calculating its lease liabilities, as these options are not reasonably certain of being exercised. Lease expense was $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:OperatingLeaseExpense" format="ixt:num-dot-decimal" scale="6" id="f-902">16.1</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:OperatingLeaseExpense" format="ixt:num-dot-decimal" scale="6" id="f-903">14.9</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:OperatingLeaseExpense" format="ixt:num-dot-decimal" scale="6" id="f-904">16.8</ix:nonFraction> million for the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021, respectively.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:LeaseCostTableTextBlock" id="f-905" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental cash flow information related to operating leases was as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash payments included in the measurement of lease liabilities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OperatingLeasePayments" format="ixt:num-dot-decimal" scale="3" id="f-906">14,984</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:OperatingLeasePayments" format="ixt:num-dot-decimal" scale="3" id="f-907">15,751</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OperatingLeasePayments" format="ixt:num-dot-decimal" scale="3" id="f-908">14,646</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease liabilities arising from obtaining right-of-use assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="f-909">121</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-910">8,669</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-911">4,110</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="qlys:AssetsAndLiabilitiesLesseeTableTextBlock" id="f-912" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted average remaining lease term and the weighted average discount rate of the Company's operating leases were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:73.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.330%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term (years)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-4" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="f-913">3.1</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-5" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="f-914">3.7</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average discount rate</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-4" decimals="3" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="f-915">5.2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-5" decimals="3" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="f-916">5.2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="f-917" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Maturities of the Company's operating lease liabilities as of December&#160;31, 2023 are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:84.614%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.186%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands) </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="f-918">13,053</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" format="ixt:num-dot-decimal" scale="3" id="f-919">7,747</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" format="ixt:num-dot-decimal" scale="3" id="f-920">4,498</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" format="ixt:num-dot-decimal" scale="3" id="f-921">4,353</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" format="ixt:num-dot-decimal" scale="3" id="f-922">1,466</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total minimum lease payments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" format="ixt:num-dot-decimal" scale="3" id="f-923">31,117</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" format="ixt:num-dot-decimal" scale="3" id="f-924">2,375</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Present value of net minimum lease payments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-925">28,742</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: lease liabilities, current</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-926">11,857</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease liabilities, noncurrent</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-927">16,885</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">77</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_124"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:24pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 9. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="f-928" continuedAt="f-928-1" escape="true">Commitment and Contingencies</ix:nonNumeric></span></div><ix:continuation id="f-928-1"><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Purchase Obligation</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has entered into agreements to purchase goods and services in the ordinary course of business. <ix:nonNumeric contextRef="c-1" name="srt:ContractualObligationFiscalYearMaturityScheduleTableTextBlock" id="f-929" continuedAt="f-929-1" escape="true">As of December&#160;31, 2023, these remaining purchase commitments for future periods are as follows:</ix:nonNumeric></span></div><ix:continuation id="f-929-1"><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:84.614%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.186%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PurchaseObligationDueInNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="f-930">20,743</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PurchaseObligationDueInSecondYear" format="ixt:num-dot-decimal" scale="3" id="f-931">18,768</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PurchaseObligationDueInThirdYear" format="ixt:num-dot-decimal" scale="3" id="f-932">12,365</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PurchaseObligationDueInFourthYear" format="ixt:num-dot-decimal" scale="3" id="f-933">9,784</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total purchase commitments</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PurchaseObligation" format="ixt:num-dot-decimal" scale="3" id="f-934">61,660</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Indemnifications</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company from time to time enters into certain types of contracts that contingently require it to indemnify various parties against claims from third parties. These contracts primarily relate to (i) the Company's bylaws, under which it must indemnify directors and executive officers, and may indemnify other officers and employees, for liabilities arising out of their relationship, (ii) contracts under which the Company must indemnify directors and certain officers for liabilities arising out of their relationship, and (iii) contracts under which the Company may be required to indemnify customers or resellers from certain liabilities arising from potential infringement of intellectual property rights, as well as potential damages caused by limited product defects. To date, the Company has not incurred and has not recorded any liability in connection with such indemnifications.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains director and officer insurance, which may cover certain liabilities arising from its obligation to indemnify its directors.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Legal Proceedings</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time the Company may become involved in legal proceedings or be subject to claims arising in the ordinary course of the Company's business. The Company records a provision for a liability when it is both probable that a liability has been incurred and the amount can be reasonably estimated. Legal expenses related to such matters are expensed as incurred. The Company provides disclosure if it is reasonably possible that a loss has been incurred and a range of loss or possible loss can be reasonably estimated. Significant judgment is required to determine both probability and the estimated amount. The Company reviews these provisions at least quarterly and adjust these provisions to reflect the impact of negotiations, settlements, rulings, advice of legal counsel, and updated information.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, there has not been at least a reasonable possibility that the Company has incurred a material loss from any ongoing legal proceedings, individually or taken together. However, litigation is inherently unpredictable and is subject to significant uncertainties, some of which are beyond the Company's control. Should any of these estimates and assumptions change or prove to have been incorrect, the Company could incur significant charges related to legal matters which could have a material impact on its results of operations, financial position and cash flows.</span></div></ix:continuation><div id="i0668aaa2a4b841bfbaf18f9d4436768b_127"></div><div style="margin-top:24pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 10. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock" id="f-935" continuedAt="f-935-1" escape="true">Stockholders' Equity and Stock-based Compensation</ix:nonNumeric></span></div><ix:continuation id="f-935-1" continuedAt="f-935-2"><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Preferred Stock</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effective October&#160;3, 2012, the Company is authorized to issue <ix:nonFraction unitRef="shares" contextRef="c-153" decimals="-5" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="6" id="f-936">20.0</ix:nonFraction>&#160;million shares of undesignated preferred stock with a par value of $<ix:nonFraction unitRef="usdPerShare" contextRef="c-153" decimals="3" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="f-937">0.001</ix:nonFraction> per share. Each series of preferred stock will have such rights and preferences including dividend rights, dividend rate, conversion rights, voting rights, rights and terms of redemption (including sinking fund provisions), redemption price, and liquidation preferences as determined by the board of directors. As of December&#160;31, 2023, and 2022, there were <ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-5" name="us-gaap:PreferredStockSharesIssued" format="ixt:fixed-zero" scale="3" id="f-938"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-5" name="us-gaap:PreferredStockSharesIssued" format="ixt:fixed-zero" scale="3" id="f-939"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-5" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:fixed-zero" scale="3" id="f-940"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-5" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:fixed-zero" scale="3" id="f-941">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> issued or outstanding shares of preferred stock.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">78</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-935-2" continuedAt="f-935-3"><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Common Stock</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Equity Incentive Plan</span></div><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2012 Equity Incentive Plan</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The 2012 Equity Incentive Plan (&#8220;Previous 2012 Plan&#8221;) was adopted and approved in September 2012 and became effective on September 26, 2012. Under the Previous 2012 Plan, the Company is authorized to grant to eligible participant&#8217;s incentive stock options ("ISOs"), nonstatutory stock options ("NSOs"), stock appreciation rights (&#8220;SARs&#8221;), restricted stock awards, restricted stock units ("RSUs"), performance units and performance shares. The number of shares of common stock available for issuance under the Previous 2012 Plan is subject to an annual increase on January 1 of each year by an amount equal to the least of <ix:nonFraction unitRef="shares" contextRef="c-154" decimals="-3" name="qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares" format="ixt:num-dot-decimal" scale="3" id="f-942">3,050</ix:nonFraction>&#160;thousand shares, <ix:nonFraction unitRef="number" contextRef="c-154" decimals="2" name="qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding" scale="-2" id="f-943">5</ix:nonFraction>% of the outstanding shares of stock as of the last day of the immediately preceding fiscal year or an amount determined by the board of directors. For the year ended&#8239;December&#160;31, 2023, <ix:nonFraction unitRef="shares" contextRef="c-155" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease" format="ixt:fixed-zero" scale="0" id="f-944">no</ix:nonFraction> shares were added to the Previous 2012 Plan. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June&#160;8, 2022 ("Effective Date"), the Company's stockholders approved the Amended and Restated 2012 Equity Incentive Plan (the "Restated 2012 Plan"). Under the Restated 2012 Plan, the Company is authorized to grant to eligible participants ISOs, NSOs, restricted stock, RSUs, SARs, performance units and performance shares. Pursuant to the relevant plan provisions, <ix:nonFraction unitRef="shares" contextRef="c-156" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-945">3,072</ix:nonFraction>&#160;thousand shares were available for grant under the Restated 2012 Plan on the Effective Date. In addition, any outstanding awards or options granted under the Previous 2012 Equity Incentive Plan will be added back to the shares available for grant under the Restated 2012 Plan if they expire unexercised or are otherwise forfeited after the Effective Date. Any remaining shares of <ix:nonFraction unitRef="shares" contextRef="c-157" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" format="ixt:num-dot-decimal" scale="3" id="f-946">9,689</ix:nonFraction>&#160;thousand available for grant under the Previous 2012 Plan as of the Effective Date were no longer available for future grants under the Restated 2012 Plan. As of December&#160;31, 2023, <ix:nonFraction unitRef="shares" contextRef="c-154" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" format="ixt:num-dot-decimal" scale="3" id="f-947">1,824</ix:nonFraction>&#160;thousand shares are available for future grants. Options may be granted with an exercise price that is at least equal to the fair market value of the Company's stock at the date of grant and are exercisable when vested. Options and RSU's granted generally vest over a period of up to <ix:nonNumeric contextRef="c-155" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-948">four years</ix:nonNumeric>. ISOs may only be granted to employees and any subsidiary corporations' employees. All other awards may be granted to employees, directors and consultants and subsidiary corporations' employees and consultants. Options, SARs, RSUs, performance units and performance awards may be granted with vesting terms as determined by the board of directors and expire no more than <ix:nonNumeric contextRef="c-155" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" format="ixt-sec:durwordsen" id="f-949">ten years</ix:nonNumeric> after the date of grant or earlier if employment or service is terminated.</span></div><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2021 Employee Stock Purchase Plan</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June&#160;9, 2021, the Company&#8217;s stockholders approved the 2021 ESPP. A total of <ix:nonFraction unitRef="shares" contextRef="c-158" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-950">600</ix:nonFraction>&#160;thousand shares were authorized for issuance to eligible participating employees upon adoption of the ESPP. The ESPP provides for consecutive <ix:nonNumeric contextRef="c-159" name="qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" format="ixt-sec:durmonth" id="f-951">6</ix:nonNumeric>-month offering periods beginning on or about August 16 and February 16 of each year. Eligible employees who elect to participate can contribute from <ix:nonFraction unitRef="number" contextRef="c-160" decimals="2" name="qlys:EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable" scale="-2" id="f-952">1</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-161" decimals="2" name="qlys:EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable" scale="-2" id="f-953">15</ix:nonFraction>% of their eligible compensation through payroll withholding. During any offering period, contribution rates cannot be changed. However, eligible employees may withdraw from the current offering period. Any contributions made prior to each purchase date in the case of withdrawal or termination of employment will be refunded. On each purchase date, eligible participating employees will purchase the shares at a price per share equal to <ix:nonFraction unitRef="number" contextRef="c-159" decimals="2" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" scale="-2" id="f-954">85</ix:nonFraction>% of the lesser of (i) the fair market value of the Company's stock on the first trading day of the offering period or (ii) the fair market value of the Company's stock on the purchase date (i.e., the last trading day of the offering period). </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the year ended December&#160;31, 2023, <ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" format="ixt:num-dot-decimal" scale="3" id="f-955">60</ix:nonFraction>&#160;thousand shares </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">were issued in connection with the purchase of common stock by participating employees. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, <ix:nonFraction unitRef="shares" contextRef="c-162" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" format="ixt:num-dot-decimal" scale="3" id="f-956">494</ix:nonFraction>&#160;thousand shares were available for future purchase. </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">79</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-935-3" continuedAt="f-935-4"><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-based Compensation</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" id="f-957" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows a summary of the stock-based compensation expenses included in the consolidated statements of operations for the years ended December&#160;31, 2023, 2022 and 2021:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenues</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-163" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-958">7,300</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-164" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-959">5,305</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-165" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-960">3,782</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-166" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-961">21,091</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-167" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-962">14,585</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-168" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-963">10,750</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-169" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-964">12,234</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-170" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-965">9,837</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-171" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-966">6,323</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-172" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-967">28,454</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-173" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-968">23,681</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-174" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-969">46,724</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total stock-based compensation, net of amounts capitalized (1)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-970">69,079</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-971">53,408</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-972">67,579</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:12pt;padding-left:31.5pt;text-align:justify;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Total stock-based compensation expense capitalized was de minimis during the year ended December&#160;31, 2023.</span></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The income tax benefit related to the stock-based compensation expenses was </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-973">11.0</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-974">8.3</ix:nonFraction> million and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-975">6.2</ix:nonFraction> million for the years ended December&#160;31, 2023, 2022 and 2021, respectively. The tax benefit realized from stock-based compensation vested or exercised was </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" format="ixt:num-dot-decimal" scale="6" id="f-976">5.9</ix:nonFraction> million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" format="ixt:num-dot-decimal" scale="6" id="f-977">7.0</ix:nonFraction> million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" format="ixt:num-dot-decimal" scale="6" id="f-978">4.9</ix:nonFraction> million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> for the years ended December&#160;31, 2023, 2022 and 2021, respectively. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, the Company had unrecognized stock-based compensation expenses of $<ix:nonFraction unitRef="usd" contextRef="c-175" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" format="ixt:num-dot-decimal" scale="6" id="f-979">23.3</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-176" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" format="ixt:num-dot-decimal" scale="6" id="f-980">94.3</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-177" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" format="ixt:num-dot-decimal" scale="6" id="f-981">1.4</ix:nonFraction> million, and $<ix:nonFraction unitRef="usd" contextRef="c-178" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" format="ixt:num-dot-decimal" scale="6" id="f-982">0.3</ix:nonFraction> million related to options, RSUs, performance-based RSUs, and ESPP, respectively, which are expected to be recognized over weighted-average periods of <ix:nonNumeric contextRef="c-179" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="f-983">2.6</ix:nonNumeric> years, <ix:nonNumeric contextRef="c-180" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="f-984">2.8</ix:nonNumeric> years, <ix:nonNumeric contextRef="c-181" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="f-985">0.6</ix:nonNumeric> years, and <ix:nonNumeric contextRef="c-182" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="f-986">0.1</ix:nonNumeric> years, respectively.</span></div><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance-Based Stock Options and Restricted Stock Units </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December&#160;21, 2018, the Compensation and Talent committee of the Company's board of directors (&#8220;Compensation Committee&#8221;) granted the equity award for 2019 to the Company&#8217;s former chief executive officer, Philippe Courtot (&#8220;Mr. Courtot&#8221;). The first portion of the award consisted of <ix:nonFraction unitRef="shares" contextRef="c-183" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-987">56</ix:nonFraction> thousand RSUs that were scheduled to vest in <ix:nonFraction unitRef="number" contextRef="c-184" decimals="INF" name="qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods" scale="0" id="f-988">16</ix:nonFraction> quarterly increments beginning on January 1, 2019. The second portion of the award consisted of a target number of <ix:nonFraction unitRef="shares" contextRef="c-185" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-989">33</ix:nonFraction>&#160;thousand PSUs, which were scheduled to vest at the end of the <ix:nonNumeric contextRef="c-186" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-990">three-year</ix:nonNumeric> performance period from January 2019 through December 2021. The actual number of PSUs eligible to vest ranged from <ix:nonFraction unitRef="number" contextRef="c-187" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="5" id="f-991">0</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-188" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-992">200</ix:nonFraction>% of the target number, depending on the level of achievement of goals related to revenue growth during the <ix:nonNumeric contextRef="c-186" name="qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod" format="ixt-sec:durwordsen" id="f-993">three-year</ix:nonNumeric> performance period from January 2019 through December 2021 and Adjusted EBITDA margin for the fiscal year of 2021. The third portion of the award consisted of a target number of <ix:nonFraction unitRef="shares" contextRef="c-189" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-994">33</ix:nonFraction>&#160;thousand PSUs, one third of which (<ix:nonFraction unitRef="shares" contextRef="c-186" decimals="-3" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares" format="ixt:num-dot-decimal" scale="3" id="f-995">11</ix:nonFraction> thousand target PSUs) was scheduled to vest at the end of each fiscal year of 2019, 2020 and 2021. The actual number of PSUs eligible to vest at each vesting date ranged from <ix:nonFraction unitRef="number" contextRef="c-190" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="5" id="f-996">0</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-191" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-997">200</ix:nonFraction>% of the target number, depending on the level of achievement of goals related to revenue growth and Adjusted EBITDA margin for each of those years.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On November&#160;2, 2019, the Compensation Committee granted the equity award for 2020 to Mr. Courtot. The first portion of the award consisted of <ix:nonFraction unitRef="shares" contextRef="c-192" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-998">49</ix:nonFraction> thousand RSUs that were scheduled to vest in <ix:nonFraction unitRef="number" contextRef="c-192" decimals="INF" name="qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods" scale="0" id="f-999">16</ix:nonFraction> quarterly installments beginning on December 1, 2019. The second portion of the award consisted of a target number of <ix:nonFraction unitRef="shares" contextRef="c-193" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-1000">124</ix:nonFraction> thousand PSOs, which were scheduled to vest at the end of the <ix:nonNumeric contextRef="c-194" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-1001">three-year</ix:nonNumeric> performance period from January 2020 through December 2022. The actual number of PSOs eligible to vest ranged from <ix:nonFraction unitRef="number" contextRef="c-195" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="5" id="f-1002">0</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-196" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-1003">200</ix:nonFraction>% of the target number, depending on the level of achievement of goals related to revenue growth and free cash flow per share growth during the performance period.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December&#160;10, 2020, the Compensation Committee granted the equity award for 2021 to Mr. Courtot. The first portion of the award consisted of <ix:nonFraction unitRef="shares" contextRef="c-197" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-1004">69</ix:nonFraction> thousand RSUs that were scheduled to vest in <ix:nonFraction unitRef="number" contextRef="c-197" decimals="INF" name="qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods" scale="0" id="f-1005">16</ix:nonFraction> quarterly installments beginning on November 1, 2020. The second portion of the award consisted of a target number of <ix:nonFraction unitRef="shares" contextRef="c-198" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-1006">224</ix:nonFraction>&#160;thousand PSOs, which were scheduled to vest at the end of the <ix:nonNumeric contextRef="c-199" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-1007">three-year</ix:nonNumeric> performance period from January 2021 through December 2023. The actual number of PSOs eligible to vest ranged from <ix:nonFraction unitRef="number" contextRef="c-200" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="5" id="f-1008">0</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-201" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-1009">200</ix:nonFraction>% of the target number, depending on the level of achievement of goals related to revenue growth and free cash flow per share growth during the performance period.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">80</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-935-4" continuedAt="f-935-5"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The vesting of the above awards was conditioned on Mr. Courtot&#8217;s continued service through the vesting dates or, for PSOs and PSUs, the dates that performance is certified in addition to the achievement of performance goals. If Mr. Courtot&#8217;s employment was terminated (a) by reason of death or disability or (b) by the Company for reasons other than cause or good reason within <ix:nonNumeric contextRef="c-202" name="qlys:SharebasedCompensationTerminationPeriodTrigger" format="ixt-sec:durmonth" id="f-1010">12</ix:nonNumeric> months following a change in control, then <ix:nonFraction unitRef="number" contextRef="c-202" decimals="2" name="qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" scale="-2" id="f-1011">100</ix:nonFraction>% of any unvested portions of these awards would vest, with any vesting in connection with change in control terminations conditioned upon the effectiveness of a release of claims in favor of the Company.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In February 2021 and 2020, <ix:nonFraction unitRef="shares" contextRef="c-203" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1012">22</ix:nonFraction>&#160;thousand shares (representing <ix:nonFraction unitRef="number" contextRef="c-203" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget" scale="-2" id="f-1013">200</ix:nonFraction>% of target number of awards) and <ix:nonFraction unitRef="shares" contextRef="c-204" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1014">15</ix:nonFraction> thousand shares (representing <ix:nonFraction unitRef="number" contextRef="c-204" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget" scale="-2" id="f-1015">135</ix:nonFraction>% of target number of awards) under the equity award for 2019 for Mr. Courtot, vested as a result of the Company achieving the corresponding level of performance goals for 2020 and 2019, respectively.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March&#160;19, 2021, Mr. Courtot resigned from the Company due to health issues. The Compensation Committee determined that Mr. Courtot&#8217;s termination of employment was on account of disability. In accordance with the grant agreements of the equity awards for 2021, 2020 and 2019 for Mr. Courtot, all remaining outstanding RSUs, PSUs and PSOs under these grants were subject to accelerated vesting and became fully vested at <ix:nonFraction unitRef="number" contextRef="c-205" decimals="2" name="qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" scale="-2" id="f-1016">100</ix:nonFraction>% of the target number of awards as of the date of his termination of employment, which consist of <ix:nonFraction unitRef="shares" contextRef="c-206" decimals="-3" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber" format="ixt:num-dot-decimal" scale="3" id="f-1017">127</ix:nonFraction>&#160;thousand RSUs, <ix:nonFraction unitRef="shares" contextRef="c-207" decimals="-3" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber" format="ixt:num-dot-decimal" scale="3" id="f-1018">44</ix:nonFraction>&#160;thousand PSUs and <ix:nonFraction unitRef="shares" contextRef="c-208" decimals="-3" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber" format="ixt:num-dot-decimal" scale="3" id="f-1019">348</ix:nonFraction>&#160;thousand PSOs. As a result, the Company recognized an additional $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" format="ixt:num-dot-decimal" scale="6" id="f-1020">27.3</ix:nonFraction> million of stock-based compensation expense due to the accelerated vesting in the consolidated statements of operations for the year ended December 31, 2021.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April&#160;27, 2021, the Compensation Committee granted to the Company&#8217;s current president and chief executive officer an equity award consisting of certain RSUs and a target number of <ix:nonFraction unitRef="shares" contextRef="c-209" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1021">10</ix:nonFraction>&#160;thousand PSUs. The PSUs are scheduled to vest at the end of the <ix:nonNumeric contextRef="c-209" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-1022">three-year</ix:nonNumeric> performance period from January 2021 through December 2023. The actual number of the PSUs eligible to vest range from <ix:nonFraction unitRef="number" contextRef="c-210" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-1023">0</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-211" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-1024">200</ix:nonFraction>% of the target number, depending on the level of achievement of goals related to revenue growth and free cash flow per share growth during the performance period. If the Company's current president and chief executive officer is terminated (a) by reason of death or disability or (b) by the Company for reasons other than cause or good reason within <ix:nonNumeric contextRef="c-209" name="qlys:SharebasedCompensationTerminationPeriodTrigger" format="ixt-sec:durmonth" id="f-1025">12</ix:nonNumeric> months following a change in control, then <ix:nonFraction unitRef="number" contextRef="c-209" decimals="2" name="qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" scale="-2" id="f-1026">100</ix:nonFraction>% of any unvested portions of the award will vest, with any vesting in connection with terminations due to change in control conditioned upon the effectiveness of a release of claims in favor of the Company.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October&#160;28, 2021, the Compensation Committee approved to certain executive officers of the Company equity awards consisting of certain RSUs and an aggregate target number of <ix:nonFraction unitRef="shares" contextRef="c-212" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1027">73</ix:nonFraction>&#160;thousand PSUs. The target PSUs are scheduled to vest in <span style="-sec-ix-hidden:f-1028">three</span> equal annual installments over a <ix:nonNumeric contextRef="c-212" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-1029">three-year</ix:nonNumeric> period from January 2022 through December 2024. Each annual installments at <ix:nonFraction unitRef="number" contextRef="c-213" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-1030">200</ix:nonFraction>% of the annual target will be considered granted when the performance targets for the corresponding performance year are determined and approved. The actual number of the PSUs eligible to vest each year range from <ix:nonFraction unitRef="number" contextRef="c-214" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-1031">0</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-213" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-1032">200</ix:nonFraction>% of the annual target number, depending on the level of achievement of goals related to revenue growth and adjusted EBITDA margin corresponding to that year. The vesting and release of the first and second installment is capped at <ix:nonFraction unitRef="number" contextRef="c-215" decimals="2" name="qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" scale="-2" id="f-1033">100</ix:nonFraction>% of the target number at the end of the first and second year, respectively, with cumulative achievement over <ix:nonFraction unitRef="number" contextRef="c-215" decimals="2" name="qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" scale="-2" id="f-1034">100</ix:nonFraction>%, if any, to be vested and released at the end of the third year, together with the vesting of the third installment.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October&#160;27, 2022, the Compensation Committee approved to certain executive officers of the Company equity awards consisting of certain RSUs and an aggregate target number of <ix:nonFraction unitRef="shares" contextRef="c-216" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1035">86</ix:nonFraction>&#160;thousand PSUs. The target PSUs are scheduled to vest in <span style="-sec-ix-hidden:f-1036">three</span> equal annual installments over a <ix:nonNumeric contextRef="c-216" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-1037">three-year</ix:nonNumeric> period from January 2023 through December 2025. Each annual installments at <ix:nonFraction unitRef="number" contextRef="c-217" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-1038">200</ix:nonFraction>% of the annual target will be considered granted when the performance targets for the corresponding performance year is determined and approved. The actual number of the PSUs eligible to vest each year range from <ix:nonFraction unitRef="number" contextRef="c-218" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-1039">0</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-217" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-1040">200</ix:nonFraction>% of the annual target number, depending on the level of achievement of goals related to revenue growth and adjusted EBITDA margin corresponding to that year. The vesting and release of the first and second installment is capped at <ix:nonFraction unitRef="number" contextRef="c-216" decimals="2" name="qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" scale="-2" id="f-1041">100</ix:nonFraction>% of the target number at the end of the first and second year, respectively, with cumulative achievement over <ix:nonFraction unitRef="number" contextRef="c-216" decimals="2" name="qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" scale="-2" id="f-1042">100</ix:nonFraction>%, if any, to be vested and released at the end of the third year, together with the vesting of the third installment.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">81</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-935-5" continuedAt="f-935-6"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 6, 2023 and July 27, 2023, the Compensation Committee approved to certain executive officers of the Company equity awards consisting of certain RSUs and an aggregate target number of <ix:nonFraction unitRef="shares" contextRef="c-219" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1043">6</ix:nonFraction>&#160;thousand and <ix:nonFraction unitRef="shares" contextRef="c-220" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1044">9</ix:nonFraction>&#160;thousand PSUs, respectively. The target PSUs are scheduled to vest in <span style="-sec-ix-hidden:f-1045">three</span> equal annual installments over a <ix:nonNumeric contextRef="c-221" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-1046">three-year</ix:nonNumeric> period from January 2023 through December 2025. Each annual installments at <ix:nonFraction unitRef="number" contextRef="c-222" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-1047">200</ix:nonFraction>% of the annual target will be considered granted when the performance targets for the corresponding performance year are determined and approved. The actual number of the PSUs eligible to vest each year ranges from <ix:nonFraction unitRef="number" contextRef="c-223" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-1048">0</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-222" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-1049">200</ix:nonFraction>% of the annual target number, depending on the level of achievement of goals related to revenue growth and adjusted EBITDA margin corresponding to that year. The vesting and release of the first and second installment is capped at <ix:nonFraction unitRef="number" contextRef="c-221" decimals="2" name="qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" scale="-2" id="f-1050">100</ix:nonFraction>% of the target number at the end of the first and second year, respectively, with cumulative achievement over <ix:nonFraction unitRef="number" contextRef="c-221" decimals="2" name="qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" scale="-2" id="f-1051">100</ix:nonFraction>%, if any, to be vested and released at the end of the third year, together with the vesting of the third installment.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October 26, 2023, the Compensation Committee approved to certain executive officers of the Company equity awards consisting of certain RSUs and an aggregate target number of <ix:nonFraction unitRef="shares" contextRef="c-224" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1052">81</ix:nonFraction>&#160;thousand PSUs. The target PSUs are scheduled to vest in <span style="-sec-ix-hidden:f-1053">three</span> equal annual installments over a <ix:nonNumeric contextRef="c-224" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-1054">three-year</ix:nonNumeric> period from January 2024 through December 2026. Each annual installments at <ix:nonFraction unitRef="number" contextRef="c-225" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-1055">200</ix:nonFraction>% of the annual target will be considered granted when the performance targets for the corresponding performance year is determined and approved. The performance targets are determined and approved each year in the first quarter of the corresponding performance year. Accordingly, such awards are not considered granted for accounting purposes as of December 31, 2023. The actual number of the PSUs eligible to vest each year range from <ix:nonFraction unitRef="number" contextRef="c-226" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-1056">0</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-225" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" scale="-2" id="f-1057">200</ix:nonFraction>% of the annual target number, depending on the level of achievement of goals related to revenue growth and adjusted EBITDA margin corresponding to that year. The vesting and release of the first and second installment is capped at <ix:nonFraction unitRef="number" contextRef="c-224" decimals="2" name="qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" scale="-2" id="f-1058">100</ix:nonFraction>% of the target number at the end of the first and second year, respectively, with cumulative achievement over <ix:nonFraction unitRef="number" contextRef="c-224" decimals="2" name="qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" scale="-2" id="f-1059">100</ix:nonFraction>%, if any, to be vested and released at the end of the third year, together with the vesting of the third installment.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the PSUs approved on October 28, 2021, October 27, 2022, February 6, 2023, July 27, 2023 and October 26, 2023, any unvested PSU award may be accelerated in part or in full upon the occurrence of certain events, such as death or disability, or a change in control, as defined in the grant agreement.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021, stock-based compensation expenses of $[<ix:nonFraction unitRef="usd" contextRef="c-179" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:fixed-zero" scale="6" id="f-1060">nil</ix:nonFraction>], $[<ix:nonFraction unitRef="usd" contextRef="c-227" decimals="INF" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:fixed-zero" scale="6" id="f-1061">nil</ix:nonFraction>] and $<ix:nonFraction unitRef="usd" contextRef="c-228" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1062">13.3</ix:nonFraction> million for PSOs, respectively, and $<ix:nonFraction unitRef="usd" contextRef="c-180" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1063">7.4</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-229" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1064">3.9</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-230" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1065">5.3</ix:nonFraction> million for PSUs, respectively, were recognized.</span></div><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock Options</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" id="f-1066" escape="true"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted-average grant date fair value of the Company&#8217;s stock options granted for the years ended December&#160;31, 2023, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2021</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> was</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> $<ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-1067">49.08</ix:nonFraction>, $<ix:nonFraction unitRef="usdPerShare" contextRef="c-6" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-1068">50.32</ix:nonFraction> and $<ix:nonFraction unitRef="usdPerShare" contextRef="c-7" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-1069">41.23</ix:nonFraction>, respectively, using the Black-Scholes-Merton option-pricing model based on the following assumptions:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected term (in years)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-231" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="f-1070">3.8</ix:nonNumeric> to <ix:nonNumeric contextRef="c-48" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="f-1071">3.9</ix:nonNumeric></span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-232" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="f-1072">4.3</ix:nonNumeric> to <ix:nonNumeric contextRef="c-233" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="f-1073">4.4</ix:nonNumeric></span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-234" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="f-1074">5.2</ix:nonNumeric> to <ix:nonNumeric contextRef="c-235" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="f-1075">5.5</ix:nonNumeric></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="f-1076">42</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-48" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="f-1077">43</ix:nonFraction>%</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-232" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="f-1078">40</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-233" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="f-1079">43</ix:nonFraction>%</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-234" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="f-1080">38</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-235" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="f-1081">41</ix:nonFraction>%</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-231" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="f-1082">3.7</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-48" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="f-1083">4.9</ix:nonFraction>%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-232" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="f-1084">1.7</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-233" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="f-1085">4.2</ix:nonFraction>%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-234" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="f-1086">0.5</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-235" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="f-1087">1.2</ix:nonFraction>%</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Dividend yield</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="0" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" format="ixt:fixed-zero" scale="-2" id="f-1088">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-6" decimals="0" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" format="ixt:fixed-zero" scale="-2" id="f-1089">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-7" decimals="0" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" format="ixt:fixed-zero" scale="-2" id="f-1090">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected term of the options is based on evaluations of historical and expected future employee exercise behavior. The risk-free interest rate is based on the U.S. Treasury rates at the date of grant with maturity dates equal to the expected term at the grant date. The volatility was estimated using the historical volatility derived from the Company's common stock. The Company has not historically declared any dividends and does not expect to in the future. </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-935-6" continuedAt="f-935-7"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="f-1091" escape="true"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of the Company&#8217;s stock option activity is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:47.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Outstanding Options</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Exercise <br/>Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Remaining <br/>Contractual Life</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Aggregate Intrinsic Value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Years)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:num-dot-decimal" scale="3" id="f-1092">1,807</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="f-1093">87.59</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-6" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear" id="f-1094">6.5</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" format="ixt:num-dot-decimal" scale="3" id="f-1095">58,024</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="3" id="f-1096">345</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" id="f-1097">129.00</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="f-1098">582</ix:nonFraction>)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="f-1099">78.32</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Canceled</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="3" id="f-1100">123</ix:nonFraction>)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="f-1101">125.39</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:num-dot-decimal" scale="3" id="f-1102">1,447</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="f-1103">97.98</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear" id="f-1104">6.5</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" format="ixt:num-dot-decimal" scale="3" id="f-1105">142,302</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vested and expected to vest as of December 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" format="ixt:num-dot-decimal" scale="3" id="f-1106">1,271</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" id="f-1107">93.44</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear" id="f-1108">6.2</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" format="ixt:num-dot-decimal" scale="3" id="f-1109">130,691</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercisable as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" scale="3" id="f-1110">739</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" scale="0" id="f-1111">68.68</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear" id="f-1112">4.5</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" format="ixt:num-dot-decimal" scale="3" id="f-1113">94,272</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total intrinsic value of options exercised for the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021 was $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" format="ixt:num-dot-decimal" scale="6" id="f-1114">41.7</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" format="ixt:num-dot-decimal" scale="6" id="f-1115">39.8</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" format="ixt:num-dot-decimal" scale="6" id="f-1116">42.5</ix:nonFraction> million, respectively. Intrinsic value of an option is the difference between the fair value of the Company&#8217;s common stock at the time of exercise and the exercise price paid. </span></div><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Units</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" id="f-1117" continuedAt="f-1117-1" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of the Company&#8217;s RSU activity is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:70.757%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:2.185%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.330%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Outstanding RSUs</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Grant Date<br/>Fair Value Per Share</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-236" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="3" id="f-1118">1,183</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-236" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="f-1119">124.42</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-180" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="3" id="f-1120">488</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-180" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-1121">140.08</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="shares" contextRef="c-180" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="3" id="f-1122">414</ix:nonFraction>)</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-180" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-1123">116.92</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="shares" contextRef="c-180" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="3" id="f-1124">183</ix:nonFraction>)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4)</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-180" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="f-1125">128.46</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-176" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="3" id="f-1126">1,074</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-176" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="f-1127">133.60</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Outstanding and expected to vest as of December 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-176" decimals="-3" name="qlys:SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber" scale="3" id="f-1128">863</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-176" decimals="2" name="qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" id="f-1129">132.53</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:6pt;padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included <ix:nonFraction unitRef="shares" contextRef="c-237" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1130"><ix:nonFraction unitRef="shares" contextRef="c-238" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1131">175</ix:nonFraction></ix:nonFraction>&#160;thousand PSUs granted to certain executive officers in 2022 and 2021.</span></div><div style="padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included <ix:nonFraction unitRef="shares" contextRef="c-239" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1132">10</ix:nonFraction>&#160;thousand PSUs granted to certain executive officers in 2023</span></div><div style="padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included <ix:nonFraction unitRef="shares" contextRef="c-240" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1133">24</ix:nonFraction>&#160;thousand PSUs granted to certain executive officers in 2021.</span></div><div style="padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included <ix:nonFraction unitRef="shares" contextRef="c-241" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1134"><ix:nonFraction unitRef="shares" contextRef="c-242" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1135">22</ix:nonFraction></ix:nonFraction>&#160;thousand PSUs granted to certain executive officers in 2022 and 2021.</span></div></ix:nonNumeric><div style="padding-left:22.5pt;text-indent:-13.5pt"><ix:continuation id="f-1117-1" continuedAt="f-1117-2"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5)</span></ix:continuation><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt"><ix:continuation id="f-1117-2">Included <ix:nonFraction unitRef="shares" contextRef="c-243" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1136"><ix:nonFraction unitRef="shares" contextRef="c-244" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1137"><ix:nonFraction unitRef="shares" contextRef="c-245" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1138">139</ix:nonFraction></ix:nonFraction></ix:nonFraction>&#160;thousand PSUs granted to certain executive officers in 2023, 2022 and 2021.</ix:continuation> </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The aggregate fair value of RSUs vested for the years ended December&#160;31, 2023, 2022 and 2021 was </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$<ix:nonFraction unitRef="usd" contextRef="c-180" decimals="-5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" format="ixt:num-dot-decimal" scale="6" id="f-1139">55.7</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-229" decimals="-5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" format="ixt:num-dot-decimal" scale="6" id="f-1140">43.9</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-230" decimals="-5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" format="ixt:num-dot-decimal" scale="6" id="f-1141">59.5</ix:nonFraction> million, respectively.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">83</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-935-7" continuedAt="f-935-8"><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Employee Stock Purchase Plan</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" id="f-1142" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted-average grant date fair value of the Company&#8217;s ESPP for the year ended December&#160;31, 2023 and 2022 was $<ix:nonFraction unitRef="usdPerShare" contextRef="c-246" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-1143">34.50</ix:nonFraction> and $<ix:nonFraction unitRef="usdPerShare" contextRef="c-247" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-1144">39.14</ix:nonFraction>, respectively, using the Black-Scholes-Merton option-pricing model based on the following assumptions:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:71.757%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.185%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.187%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected term (in years)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-246" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="f-1145">0.5</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-247" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="f-1146">0.5</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-246" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" scale="-2" id="f-1147">30.0</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-246" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" scale="-2" id="f-1148">43.8</ix:nonFraction>%</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-247" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" scale="-2" id="f-1149">41.1</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-247" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" scale="-2" id="f-1150">50.1</ix:nonFraction>% </span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-246" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" scale="-2" id="f-1151">5.0</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-246" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" scale="-2" id="f-1152">5.5</ix:nonFraction>%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-247" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" scale="-2" id="f-1153">0.7</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-247" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" scale="-2" id="f-1154">3.1</ix:nonFraction>%</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Dividend yield</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-246" decimals="0" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" format="ixt:fixed-zero" scale="-2" id="f-1155">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-247" decimals="0" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" format="ixt:fixed-zero" scale="-2" id="f-1156">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected term of the ESPP represents the <ix:nonNumeric contextRef="c-1" name="qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" format="ixt-sec:durwordsen" id="f-1157">six-month</ix:nonNumeric> offering period. The risk-free interest rate is based on the U.S. Treasury rates at the date of grant with maturity dates equal to the expected term at the grant date. The volatility was estimated using the historical volatility derived from the Company's common stock. The Company has not historically declared any dividends and does not expect to in the future. </span></div><div style="margin-top:12pt;padding-left:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Share Repurchase Program</span></div><ix:nonNumeric contextRef="c-1" name="qlys:ShareRepurchaseProgramTableTextBlock" id="f-1158" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's share repurchase program was authorized by the board of directors as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:85.900%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.329%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Announcement Date</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Authorized Dollar Value</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in millions)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 12, 2018</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-248" decimals="-5" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" scale="6" id="f-1159">100.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">October 30, 2018</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-249" decimals="-5" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" scale="6" id="f-1160">100.0</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">October 30, 2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-250" decimals="-5" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" scale="6" id="f-1161">100.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">May 7, 2020</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-251" decimals="-5" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" scale="6" id="f-1162">100.0</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 10, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-252" decimals="-5" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" scale="6" id="f-1163">100.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">November 3, 2021</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-253" decimals="-5" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" scale="6" id="f-1164">200.0</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">May 4, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-254" decimals="-5" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" scale="6" id="f-1165">200.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 9, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-255" decimals="-5" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" scale="6" id="f-1166">100.0</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" format="ixt:num-dot-decimal" scale="6" id="f-1167">1,000.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Shares may be repurchased from time to time on the open market in accordance with Rule 10b-18 of the Exchange Act of 1934, including pursuant to a pre-set trading plan adopted in accordance with Rule 10b5-1 under the Exchange Act. All share repurchases have been made using cash resources. Repurchased shares are retired and reclassified as authorized and unissued shares of common stock. On retirement of the repurchased shares, common stock is reduced by an amount equal to the number of shares being retired multiplied by the par value. The excess amount that is retired over its par value is first allocated as a reduction to additional paid-in capital based on the original cost of additional paid-in capital per share of identified issuances. The remaining amount is allocated to accumulated deficit.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February&#160;7, 2024, the Company announced that its Board of Directors authorized an additional </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$<ix:nonFraction unitRef="usd" contextRef="c-256" decimals="-5" name="qlys:StockRepurchaseProgramAdditionalAuthorizedAmount" format="ixt:num-dot-decimal" scale="6" id="f-1168">200.0</ix:nonFraction> million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> under the share repurchase program, increasing the total amount of authorized repurchase to $<ix:nonFraction unitRef="usd" contextRef="c-257" decimals="-8" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" format="ixt:num-dot-decimal" scale="9" id="f-1169">1.2</ix:nonFraction>&#160;billion.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023, 2022 and 2021, the Company repurch</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ased <ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-5" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodShares" format="ixt:num-dot-decimal" scale="6" id="f-1170">1.3</ix:nonFraction>&#160;million shares, <ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-5" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodShares" format="ixt:num-dot-decimal" scale="6" id="f-1171">2.5</ix:nonFraction>&#160;million shares and <ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-5" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodShares" format="ixt:num-dot-decimal" scale="6" id="f-1172">1.1</ix:nonFraction>&#160;million shares of its common stock for $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" format="ixt:num-dot-decimal" scale="6" id="f-1173">170.8</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" format="ixt:num-dot-decimal" scale="6" id="f-1174">317.3</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" format="ixt:num-dot-decimal" scale="6" id="f-1175">130.0</ix:nonFraction> million, respectively</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. As of December&#160;31, 2023, $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" format="ixt:num-dot-decimal" scale="6" id="f-1176">83.7</ix:nonFraction> million remained available for share repurchases pursuant to the Company's share repurchase program.</span></div></ix:continuation><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-935-8">On August 16, 2022, President Biden signed into law the Inflation Reduction Act of 2022 which contained provisions effective January 1, 2023, including a 1% excise tax on stock repurchases net of issue, which was immaterial to the Company's financial results and cash flows for the year ended December&#160;31, 2023.</ix:continuation> </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">84</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_133"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:24pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 11. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:CompensationAndEmployeeBenefitPlansTextBlock" id="f-1178" continuedAt="f-1178-1" escape="true">Employee Benefits Plan</ix:nonNumeric></span></div><ix:continuation id="f-1178-1"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s 401(k) Plan was established in 2000 to provide retirement and incidental benefits for its employees. As allowed under section 401(k) of the Internal Revenue Code, the 401(k) Plan provides tax-deferred salary deductions for eligible employees. Contributions to the 401(k) Plan are limited to a maximum amount as set periodically by the Internal Revenue Service. For the years ended </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021, the Company made contributions to the 401(k) Plan of $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:DefinedContributionPlanCostRecognized" format="ixt:num-dot-decimal" scale="6" id="f-1179">4.1</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:DefinedContributionPlanCostRecognized" format="ixt:num-dot-decimal" scale="6" id="f-1180">3.5</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:DefinedContributionPlanCostRecognized" format="ixt:num-dot-decimal" scale="6" id="f-1181">2.4</ix:nonFraction> million, respectively.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company contributes to a Provident Fund Plan for its employees in India, which is a defined contribution plan set up in accordance with local labor and tax laws. Gratuity is also paid by the Company to eligible employees in India in accordance with Payment of Gratuity Act, 1972. For the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021, the Company contributed $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" format="ixt:num-dot-decimal" scale="6" id="f-1182">2.3</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" format="ixt:num-dot-decimal" scale="6" id="f-1183">2.0</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" format="ixt:num-dot-decimal" scale="6" id="f-1184">1.7</ix:nonFraction> million, respectively, to those plans.</span></div></ix:continuation><div id="i0668aaa2a4b841bfbaf18f9d4436768b_136"></div><div style="margin-top:24pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 12. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:IncomeTaxDisclosureTextBlock" id="f-1185" continuedAt="f-1185-1" escape="true">Income Taxes</ix:nonNumeric></span></div><ix:continuation id="f-1185-1" continuedAt="f-1185-2"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" id="f-1186" escape="true"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s geographical breakdown of income before income taxes is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Domestic</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" format="ixt:num-dot-decimal" scale="3" id="f-1187">164,958</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" format="ixt:num-dot-decimal" scale="3" id="f-1188">122,013</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" format="ixt:num-dot-decimal" scale="3" id="f-1189">80,472</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" format="ixt:num-dot-decimal" scale="3" id="f-1190">13,693</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" format="ixt:num-dot-decimal" scale="3" id="f-1191">11,687</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" format="ixt:num-dot-decimal" scale="3" id="f-1192">8,925</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income before income taxes</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-1193">178,651</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-1194">133,700</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-1195">89,397</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="f-1196" escape="true"><div style="margin-top:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income tax provision consists of the following:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Current</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CurrentFederalTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1197">32,405</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:CurrentFederalTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1198">35,286</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CurrentFederalTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1199">20,135</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">State</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1200">6,061</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1201">6,269</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1202">4,324</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CurrentForeignTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1203">5,218</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:CurrentForeignTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1204">4,606</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CurrentForeignTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1205">3,701</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current income tax provision</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CurrentIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1206">43,684</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:CurrentIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1207">46,161</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CurrentIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1208">28,160</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Deferred</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1209">13,584</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1210">17,097</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1211">7,342</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">State</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1212">2,009</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1213">3,055</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1214">1,722</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1215">1,035</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" scale="3" id="f-1216">301</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" scale="3" id="f-1217">659</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred income tax benefit</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:DeferredIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1218">16,628</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:DeferredIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1219">20,453</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:DeferredIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1220">9,723</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Income tax provision</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1221">27,056</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1222">25,708</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1223">18,437</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">85</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-1185-2" continuedAt="f-1185-3"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="f-1224" escape="true"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The reconciliation of the statutory federal income tax rate to the Company&#8217;s effective tax rate is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal statutory rate</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="f-1225">21.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-6" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="f-1226">21.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-7" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="f-1227">21.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">State taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="f-1228">2.6</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-6" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="f-1229">2.3</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-7" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="f-1230">3.1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" scale="-2" id="f-1231">2.7</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-6" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" scale="-2" id="f-1232">3.4</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-7" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" scale="-2" id="f-1233">10.3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Excess tax benefits related to stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" scale="-2" id="f-1234">2.9</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="number" contextRef="c-6" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" scale="-2" id="f-1235">5.2</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="number" contextRef="c-7" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" scale="-2" id="f-1236">5.4</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign source income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" scale="-2" id="f-1237">0.3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-6" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" scale="-2" id="f-1238">3.8</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-7" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" scale="-2" id="f-1239">0.4</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in valuation allowance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="f-1240">0.1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-6" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="f-1241">0.3</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-7" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="f-1242">0.2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign-derived intangible income deduction</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent" scale="-2" id="f-1243">4.4</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="number" contextRef="c-6" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent" scale="-2" id="f-1244">4.9</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="number" contextRef="c-7" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent" scale="-2" id="f-1245">7.0</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal and state research and development credit</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" id="f-1246">1.4</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="number" contextRef="c-6" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" id="f-1247">1.3</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="number" contextRef="c-7" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" id="f-1248">1.9</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrual to return adjustments and Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" id="f-1249">2.9</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="number" contextRef="c-6" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" id="f-1250">0.2</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="number" contextRef="c-7" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" id="f-1251">0.1</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income tax provision</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="f-1252">15.1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-6" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="f-1253">19.2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="c-7" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="f-1254">20.6</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Deferred Income Taxes</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred income taxes reflect the tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting purposes and the amounts used for income tax purposes. <ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="f-1255" continuedAt="f-1255-1" escape="true">The components of the Company&#8217;s deferred tax assets and liabilities are as follows:</ix:nonNumeric></span></div><ix:continuation id="f-1255-1"><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:73.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.330%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Deferred tax assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development credit carryforwards</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" format="ixt:num-dot-decimal" scale="3" id="f-1256">11,502</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" format="ixt:num-dot-decimal" scale="3" id="f-1257">10,957</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fixed assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment" scale="3" id="f-1258">581</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment" format="ixt:fixed-zero" scale="3" id="f-1259">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-1260">3,020</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-1261">3,677</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenues</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsDeferredIncome" format="ixt:num-dot-decimal" scale="3" id="f-1262">3,381</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsDeferredIncome" format="ixt:num-dot-decimal" scale="3" id="f-1263">5,766</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="qlys:DeferredTaxAssetsOperatingLeaseLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-1264">7,722</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="qlys:DeferredTaxAssetsOperatingLeaseLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-1265">10,667</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="f-1266">3,549</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="f-1267">3,465</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" format="ixt:num-dot-decimal" scale="3" id="f-1268">4,263</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" format="ixt:num-dot-decimal" scale="3" id="f-1269">4,691</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capitalized research and development</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" format="ixt:num-dot-decimal" scale="3" id="f-1270">47,793</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" format="ixt:num-dot-decimal" scale="3" id="f-1271">30,234</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsOther" format="ixt:num-dot-decimal" scale="3" id="f-1272">2,999</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsOther" format="ixt:num-dot-decimal" scale="3" id="f-1273">2,195</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-1274">84,810</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-1275">71,652</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Valuation allowance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="3" id="f-1276">12,375</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="3" id="f-1277">12,476</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-1278">72,435</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-1279">59,176</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Deferred tax liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fixed assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" format="ixt:fixed-zero" scale="3" id="f-1280">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1281">1,745</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating leases - right of use asset</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="qlys:DeferredLiabilitiesRightofuseAssets" format="ixt:num-dot-decimal" scale="3" id="f-1282">5,999</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="qlys:DeferredLiabilitiesRightofuseAssets" format="ixt:num-dot-decimal" scale="3" id="f-1283">8,359</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred commissions</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="qlys:DeferredTaxLiabilitiesDeferredCommission" format="ixt:num-dot-decimal" scale="3" id="f-1284">3,675</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="qlys:DeferredTaxLiabilitiesDeferredCommission" format="ixt:num-dot-decimal" scale="3" id="f-1285">3,660</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total deferred tax liabilities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-1286">9,674</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-1287">13,764</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net deferred tax assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" format="ixt:num-dot-decimal" scale="3" id="f-1288">62,761</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" format="ixt:num-dot-decimal" scale="3" id="f-1289">45,412</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">86</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:continuation id="f-1185-3"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The realization of deferred tax assets is dependent upon the generation of sufficient taxable income of the appropriate character in future periods. The Company regularly assesses the ability to realize its deferred tax assets and establishes a valuation allowance if it is more-likely than-not that some portion, or all, of the deferred tax assets will not be realized. The Company weighs all available positive and negative evidence, including its earnings history and results of recent operations, scheduled reversals of deferred tax liabilities, projected future taxable income, and tax planning strategies. Due to the weight of objectively verifiable negative evidence, it is more-likely-than-not that its California deferred tax assets will not be realized as of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Additionally, due to a lack of sufficient future income of the appropriate character, certain U.S. federal and state deferred tax assets are not more-likely-than-not to be realized. Accordingly, the Company has recorded a valuation allowance of $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:DeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="6" id="f-1290">12.4</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:DeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="6" id="f-1291">12.5</ix:nonFraction> million against such deferred tax assets as of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and 2022, respectively. The decrease in valuation allowance was mainly associated with the California research and development credit generated during the year ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> offset by a decrease in unrealized loss on available for sale securities that will not likely be realized in the foreseeable future.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023 and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022, the Company had $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1292">17.0</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1293">16.2</ix:nonFraction> million, respectively, of California research and development credit carryforwards. California research and development credits are carried forward indefinitely. As of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023 and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022, the Company had foreign tax credit carryforwards of $<ix:nonFraction unitRef="usd" contextRef="c-258" decimals="-5" name="us-gaap:TaxCreditCarryforwardAmount" format="ixt:num-dot-decimal" scale="6" id="f-1294">1.0</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-259" decimals="-5" name="us-gaap:TaxCreditCarryforwardAmount" format="ixt:num-dot-decimal" scale="6" id="f-1295">0.9</ix:nonFraction> million, respectively, which begin to expire in 2028. </span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" id="f-1296" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activity related to the Company&#8217;s unrecognized tax benefits:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unrecognized tax benefits beginning balance</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:UnrecognizedTaxBenefits" format="ixt:num-dot-decimal" scale="3" id="f-1297">10,542</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:UnrecognizedTaxBenefits" format="ixt:num-dot-decimal" scale="3" id="f-1298">9,676</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:UnrecognizedTaxBenefits" format="ixt:num-dot-decimal" scale="3" id="f-1299">8,855</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross increase for tax positions of prior years</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" scale="3" id="f-1300">262</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" scale="3" id="f-1301">89</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" format="ixt:fixed-zero" scale="3" id="f-1302">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross decrease for tax positions of prior years</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" format="ixt:fixed-zero" scale="3" id="f-1303">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" format="ixt:fixed-zero" scale="3" id="f-1304">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" scale="3" id="f-1305">25</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross increase for tax positions of current year</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" format="ixt:num-dot-decimal" scale="3" id="f-1306">1,127</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" scale="3" id="f-1307">777</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" scale="3" id="f-1308">846</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lapse of statute of limitations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" scale="3" id="f-1309">33</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" format="ixt:fixed-zero" scale="3" id="f-1310">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" format="ixt:fixed-zero" scale="3" id="f-1311">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total unrecognized tax benefits</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:UnrecognizedTaxBenefits" format="ixt:num-dot-decimal" scale="3" id="f-1312">11,898</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:UnrecognizedTaxBenefits" format="ixt:num-dot-decimal" scale="3" id="f-1313">10,542</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:UnrecognizedTaxBenefits" format="ixt:num-dot-decimal" scale="3" id="f-1314">9,676</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unrecognized tax benefits, if recognized, would impact the income tax provision by $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" format="ixt:num-dot-decimal" scale="6" id="f-1315">6.1</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" format="ixt:num-dot-decimal" scale="6" id="f-1316">5.3</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-5" name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" format="ixt:num-dot-decimal" scale="6" id="f-1317">4.9</ix:nonFraction> million as of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021, respectively. The remaining amount would result in the recognition of a corresponding deferred tax asset that is then offset by a full valuation allowance. As of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, the Company does not believe that its estimates, as otherwise provided for, on such tax positions will significantly increase or decrease within the next twelve months. The Company has elected to include interest and penalties as a component of income tax expense. The amounts were not material for the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company files income tax returns in the United States, including various state jurisdictions. The Company&#8217;s subsidiaries file tax returns in India and various other foreign jurisdictions. The tax years 2001 through 2023 remain open to examination by the major taxing jurisdictions in which the Company is subject to tax. The Company is also currently subject to tax audits in various jurisdictions. The Company believes that an adequate provision has been made for any adjustments that may result from tax examinations. However, the outcome of tax audits cannot be predicted with certainty. If any issues addressed in the Company's tax audits are resolved in a manner inconsistent with its expectations, the Company could be required to adjust its income tax provision in the period such resolution occurs.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023, the Company has undistributed earnings in certain foreign subsidiaries that the Company has indefinitely reinvested outside the United States. Due to U.S. tax rules related to taxation of foreign earnings, the unrecorded deferred tax liability is immaterial. The Company may be required to pay additional foreign withholding taxes if the Company repatriates those earnings in the future.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_139"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:24pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 13. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:SegmentReportingDisclosureTextBlock" id="f-1318" continuedAt="f-1318-1" escape="true">Segment and Geographic Area Information</ix:nonNumeric></span></div><ix:continuation id="f-1318-1"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under ASC 280 Segment Reporting, operating segments are defined as components of an entity about which separate financial information is evaluated regularly by the chief operating decision maker in deciding how to allocate resources and in assessing performance. The Company operates in <ix:nonFraction unitRef="segment" contextRef="c-1" decimals="INF" name="us-gaap:NumberOfOperatingSegments" format="ixt-sec:numwordsen" scale="0" id="f-1319">one</ix:nonFraction> segment and has only <ix:nonFraction unitRef="segment" contextRef="c-1" decimals="INF" name="us-gaap:NumberOfReportableSegments" format="ixt-sec:numwordsen" scale="0" id="f-1320">one</ix:nonFraction> reportable segment. The Company&#8217;s chief operating decision maker is the Chief Executive Officer, who makes operating decisions, assesses performance and allocates resources on a consolidated basis. All of the Company&#8217;s principal operations and decision-making functions are located in the United States.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" id="f-1321" escape="true"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue by geographic area, based on the customer's billing address, is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-260" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-1322">332,315</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-261" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-1323">292,291</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-262" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-1324">252,428</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-263" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-1325">222,143</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-264" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-1326">197,432</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-265" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-1327">158,744</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenues</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-1328">554,458</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-1329">489,723</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-1330">411,172</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets, which consist of Property and equipment, net and Operating leases - right of use asset, by geographic area, are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:73.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.330%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-266" decimals="-3" name="qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets" format="ixt:num-dot-decimal" scale="3" id="f-1331">42,622</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-267" decimals="-3" name="qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets" format="ixt:num-dot-decimal" scale="3" id="f-1332">58,775</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">India</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-268" decimals="-3" name="qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets" format="ixt:num-dot-decimal" scale="3" id="f-1333">9,952</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-269" decimals="-3" name="qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets" format="ixt:num-dot-decimal" scale="3" id="f-1334">16,057</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Rest of world</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-270" decimals="-3" name="qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets" format="ixt:num-dot-decimal" scale="3" id="f-1335">2,416</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-271" decimals="-3" name="qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets" format="ixt:num-dot-decimal" scale="3" id="f-1336">6,348</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total Long-lived Assets</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets" format="ixt:num-dot-decimal" scale="3" id="f-1337">54,990</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets" format="ixt:num-dot-decimal" scale="3" id="f-1338">81,180</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div id="i0668aaa2a4b841bfbaf18f9d4436768b_142"></div><div style="margin-top:24pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 14. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:EarningsPerShareTextBlock" id="f-1339" continuedAt="f-1339-1" escape="true">Net Income Per Share</ix:nonNumeric></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="f-1340" escape="true"><ix:continuation id="f-1339-1" continuedAt="f-1339-2"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The computations for basic and diluted net income per share are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except per share data)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1341">151,595</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1342">107,992</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1343">70,960</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic weighted average shares</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-1344">36,879</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-1345">38,453</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-1346">39,030</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effect of potentially dilutive shares:</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="f-1347">482</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="f-1348">672</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="f-1349">863</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock units</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants" scale="3" id="f-1350">237</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants" scale="3" id="f-1351">216</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants" scale="3" id="f-1352">224</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employee stock purchase plan</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements" scale="3" id="f-1353">4</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements" scale="3" id="f-1354">3</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements" scale="3" id="f-1355">1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted weighted average shares</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-1356">37,602</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-1357">39,344</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-1358">40,118</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income per share:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-1359">4.11</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-6" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-1360">2.81</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-7" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-1361">1.82</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-1362">4.03</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-6" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-1363">2.74</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-7" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-1364">1.77</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation></ix:nonNumeric><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">88</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" id="f-1365" escape="true"><ix:continuation id="f-1339-2"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Potentially dilutive shares not included in the calculation of diluted net income per share because doing so would be anti-dilutive are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:60.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-272" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1366">763</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-273" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1367">686</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-274" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1368">534</ix:nonFraction></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock units</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-275" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1369">140</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-276" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1370">90</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-277" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1371">61</ix:nonFraction></span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employee stock purchase plan</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-278" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1372">7</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-279" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1373">5</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-280" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:fixed-zero" scale="3" id="f-1374">&#8212;</ix:nonFraction></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total anti-dilutive shares</span></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1375">910</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1376">781</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1377">595</ix:nonFraction></span></td></tr></table></div></ix:continuation></ix:nonNumeric><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">89</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_145"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 9.&#160;&#160;&#160;&#160;Changes In and Disagreements with Accountants on Accounting and Financial Disclosure</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_148"></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 9A.&#160;&#160;&#160;&#160;Controls and Procedures</span></div><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Evaluation of Disclosure Controls and Procedures</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our management, with the participation of our Chief Executive Officer and Chief Financial Officer, evaluated the effectiveness of our disclosure controls and procedures as of December&#160;31, 2023. The term &#8220;disclosure controls and procedures,&#8221; as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act, means controls and other procedures of a company that are designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is recorded, processed, summarized and reported, within the time periods specified in the Securities and Exchange Commission&#8217;s rules and forms. Disclosure controls and procedures include, without limitation, controls and procedures designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is accumulated and communicated to the company&#8217;s management, including its principal executive and principal financial officers, as appropriate to allow timely decisions regarding required disclosure. Management recognizes that any controls and procedures, no matter how well designed and operated, can provide only reasonable assurance of achieving their objectives and management necessarily applies its judgment in evaluating the cost-benefit relationship of possible controls and procedures. Based on the evaluation of our disclosure controls and procedures as of December&#160;31, 2023, our Chief Executive Officer and Chief Financial Officer concluded that, as of such date, our disclosure controls and procedures were effective at the reasonable assurance level.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Management's Annual Report on Internal Control over Financial Reporting</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our management is responsible for establishing and maintaining adequate internal control over financial reporting, as such term is defined in Rules 13a-15(f) and 15d-15(f) of the Exchange Act. Our internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with U.S. GAAP. Our internal control over financial reporting includes those policies and procedures that: (i) pertain to the maintenance of records that in reasonable detail accurately and fairly reflect the transactions and dispositions of our assets, (ii) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with U.S. GAAP, and that our receipts and expenditures are being made only in accordance with authorizations of our management and directors, and (iii) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition of our assets that could have a material effect on our financial statements.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the supervision and with the participation of our management, including our Chief Executive Officer and Chief Financial Officer, we conducted an evaluation of the effectiveness of our internal control over financial reporting as of December&#160;31, 2023 based on the criteria established in the 2013 Internal Control - Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission, or COSO. Based on our evaluation under the criteria set forth in the 2013 Internal Control - Integrated Framework issued by the COSO, our management concluded our internal control over financial reporting was effective as of December&#160;31, 2023.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The effectiveness of the Company's internal control over financial reporting as of December&#160;31, 2023 has been audited by Grant Thornton LLP, an independent registered public accounting firm, as stated in its report, which is included in Item 8 of this Annual Report on Form 10-K.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Changes in Internal Control over Financial Reporting</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There was no change in our internal control over financial reporting identified in connection with the evaluation required by Rule 13a-15(d) and 15d-15(d) of the Exchange Act that occurred during the fourth quarter ended December&#160;31, 2023 that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_151"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 9B.&#160;&#160;&#160;&#160;Other Information</span></div><div style="margin-top:12pt;padding-left:13.5pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Securities Trading Plans of Directors and Executive Officers</span></div><ix:nonNumeric contextRef="c-281" name="ecd:MtrlTermsOfTrdArrTextBlock" id="f-1378" escape="true"><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three months ended December&#160;31, 2023, the following director, as defined in Rule 16a-1(f), adopted a &#8220;Rule 10b5-1 trading arrangement&#8221; as defined in Regulation S-K Item 408, as follows:</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On <ix:nonNumeric contextRef="c-282" name="ecd:TrdArrAdoptionDate" id="f-1379">November 21, 2023</ix:nonNumeric>, <ix:nonNumeric contextRef="c-282" name="ecd:TrdArrIndName" id="f-1380">Jeffrey P. Hank</ix:nonNumeric>, the <ix:nonNumeric contextRef="c-282" name="ecd:TrdArrIndTitle" id="f-1381">chair of our board of directors</ix:nonNumeric>, <ix:nonNumeric contextRef="c-282" name="ecd:Rule10b51ArrAdoptedFlag" format="ixt:fixed-true" id="f-1382">adopted</ix:nonNumeric> a Rule 10b5-1 trading arrangement providing for the sale from time to time of an aggregate of up to <ix:nonFraction unitRef="shares" contextRef="c-283" decimals="INF" name="ecd:TrdArrSecuritiesAggAvailAmt" format="ixt:num-dot-decimal" id="f-1383">8,850</ix:nonFraction> shares of our common stock plus an additional number of shares to be granted on the date of the Company's 2024 Annual Meeting of Stockholders. Pursuant to the Company's non-employee director compensation program, each non-employee director who has served on our board of directors for at least six months prior to such date will be granted an award of restricted stock units with an intended value (based on the average of the closing prices of our common stock for the 30 trading days ending one week before the applicable grant date) of $200,000.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The trading arrangement is intended to satisfy the affirmative defense in Rule 10b5-1(c). The duration of the trading arrangement is until June 30, 2025, or earlier if all transactions under the trading arrangement are completed.</span></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No other director or officer, as defined in Rule 16a-1(f), <ix:nonNumeric contextRef="c-284" name="ecd:NonRule10b51ArrAdoptedFlag" format="ixt:fixed-false" id="f-1384">adopted</ix:nonNumeric> or <ix:nonNumeric contextRef="c-284" name="ecd:NonRule10b51ArrTrmntdFlag" format="ixt:fixed-false" id="f-1385"><ix:nonNumeric contextRef="c-284" name="ecd:Rule10b51ArrTrmntdFlag" format="ixt:fixed-false" id="f-1386">terminated</ix:nonNumeric></ix:nonNumeric> a &#8220;Rule 10b5-1 trading arrangement&#8221; or a &#8220;non-Rule 10b5-1 trading arrangement,&#8221; each as defined in Regulation S-K Item 408, during the three months ended December&#160;31, 2023.</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_154"></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 9C.&#160;&#160;&#160;&#160;Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Not applicable.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">91</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_157"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART III</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_160"></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 10.&#160;&#160;&#160;&#160;Directors, Executive Officers and Corporate Governance</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Executive Officers and Directors</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Except as set forth below, the information required by this item is incorporated by reference to our Proxy Statement for our 2024 Annual Meeting of Stockholders to be filed with the SEC within 120 days after the end of the fiscal year ended December&#160;31, 2023.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Codes of Business Conduct and Ethics</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our Board of Directors has adopted a code of business conduct and ethics that applies to all of our employees, officers and directors, including our Chief Executive Officer, Chief Financial Officer and other executive and senior financial officers. The code of business conduct and ethics is available on our website at www.qualys.com. We expect that, to the extent required by law, any amendments to the code, or any waivers of its requirements, will be disclosed on our website. We intend to disclose any waiver to the provisions of the code of business conduct and ethics that applies specifically to directors or executive officers by filing such information on a Current Report on Form 8-K with the SEC, to the extent such filing is required by the NASDAQ Stock Market's listing requirements; otherwise, we will disclose such waiver by posting such information on our website.</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_163"></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 11.&#160;&#160;&#160;&#160;Executive Compensation</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information required by this item is incorporated by reference to our Proxy Statement for our 2024 Annual Meeting of Stockholders to be filed with the SEC within 120 days after the end of the fiscal year ended December&#160;31, 2023.</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_166"></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 12.&#160;&#160;&#160;&#160;Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information required by this item with respect to Item 403 of Regulation S-K regarding security ownership of certain beneficial owners and management is incorporated by reference to our Proxy Statement for our 2024 Annual Meeting of Stockholders to be filed with the SEC within 120 days after the end of the fiscal year ended December&#160;31, 2023. </span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Securities Authorized for Issuance under Equity Compensation Plans </span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes information about our equity compensation plans as of December&#160;31, 2023. All outstanding awards relate to our common stock.</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:46.900%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.757%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:2.185%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.757%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:2.185%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.757%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:2.188%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Plan Category</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(a) Number of Securities to be Issued Upon Exercise of Outstanding Options, Warrants and <br/>Rights</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(b) Weighted-Average Exercise Price of Outstanding Options, Warrants and Rights</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(c) Number of Securities Remaining Available for Future Issuance Under Equity Compensation Plans (Excluding Securities Reflected in Column (a))</span></div></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Equity compensation plans approved by security holders </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,521</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">97.98&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,318</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4)</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Equity compensation plans not approved by security holders</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr></table></div><div style="margin-top:12pt;padding-left:22.5pt;text-align:justify;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Includes our Amended and Restated 2012 Equity Incentive Plan (Restated 2012 Plan) and 2021 Employee Stock Purchase Plan (ESPP).</span></div><div style="padding-left:22.5pt;text-align:justify;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Consists of 1,074 thousand restricted stock units and 1,447 thousand shares underlying stock options.</span></div><div style="padding-left:22.5pt;text-align:justify;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">The weighted average exercise price is calculated based solely on outstanding stock options.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">92</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="padding-left:22.5pt;text-align:justify;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Consists of 1,824&#160;thousand shares reserved for issuance under our Amended and Restated 2012 Plan and 494&#160;thousand shares reserved for issuance under our ESPP.</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_169"></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 13.&#160;&#160;&#160;&#160;Certain Relationships and Related Transactions, and Director Independence</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information required by this item is incorporated by reference to our Proxy Statement for our 2024 Annual Meeting of Stockholders to be filed with the SEC within 120 days after the end of the fiscal year ended December&#160;31, 2023.</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_172"></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 14.&#160;&#160;&#160;&#160;Principal Accountant Fees and Services</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information required by this item is incorporated by reference to our Proxy Statement for our 2024 Annual Meeting of Stockholders to be filed with the SEC within 120 days after the end of the fiscal year ended December&#160;31, 2023.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">93</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_175"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART IV</span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_178"></div><div style="-sec-extract:summary;margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 15. &#160;&#160;&#160;&#160;Exhibits and Financial Statement Schedules</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a)(1) Financial Statements - The financial statements filed as part of this Annual Report on Form 10-K are listed on the Index to Consolidated Financial Statements in Item 8.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a)(2) Financial Statement Schedules - All financial statement schedules have been omitted since the required information is not applicable or has been included in the consolidated financial statements and accompanying notes included in this Form 10-K.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b) Exhibits</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:8.185%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.942%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:37.185%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.328%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.185%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.333%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Incorporated by Reference</span></td></tr><tr><td colspan="3" style="border-bottom:0.75pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Exhibit</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Number</span></div></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:0.75pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Description</span></td><td colspan="3" style="border-bottom:0.75pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Filed <br/>Herewith</span></td><td colspan="3" style="border-bottom:0.75pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Form</span></td><td colspan="3" style="border-bottom:0.75pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">File No.</span></td><td colspan="3" style="border-bottom:0.75pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Exhibit No.</span></td><td colspan="3" style="border-bottom:0.75pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Filing Date</span></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:0.75pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1107843/000119312512388433/d355355dex33.htm">Amended and Restated Certificate of Incorporation of Qualys, Inc.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">S-1/A</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333-182027</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.3</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">September 12, 2012</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.2</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1107843/000119312522275854/d374785dex31.htm">Amended and Restated Bylaws of Qualys, Inc.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">001-35662</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">November 2, 2022</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1107843/000119312512388433/d355355dex41.htm">Form of common stock certificate.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">S-1/A</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333-182027</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">September 12, 2012</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.2</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1107843/000162828020001963/qlys-201910kxexht42.htm">Description of Registrant&#8217;s securities</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">001-35662</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.2</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 21, 2020</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.1*</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1107843/000119312512265366/d355355dex101.htm">2000 Equity Incentive Plan, as amended, and the form of stock option agreement thereunder.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">S-1</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333-182027</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">June 8, 2012</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.2*</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1107843/000119312522171918/d286585dex101.htm">Qualys, Inc. 2012 Equity Incentive Plan, as amended, restated and extended.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">001-35662</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">June 10, 2022</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.3*</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/0001107843/000119312521188846/d573211dex101.htm">Qualys, Inc. 2021 Employee Stock Purchase Plan</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">001-35662</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">June 11, 2021</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.4*</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1107843/000119312512265366/d355355dex105.htm">Offer Letter, between Qualys, Inc. and Sumedh S. Thakar, dated January 20, 2003.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">S-1</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333-182027</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.5</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">June 8, 2012</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.5*</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1107843/000119312520151509/d800805dex101.htm">Offer Letter, between Qualys, Inc. and Joo Mi Kim, dated May 21, 2020.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">001-35662</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">May 26, 2020</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.6*</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1107843/000119312512265366/d355355dex109.htm">Offer Letter, between Qualys, Inc. and Bruce K. Posey, dated May 8, 2012.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">S-1</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333-182027</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.9</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">June 8, 2012</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.7*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1107843/000143774922004075/ex_332987.htm">Form of Performance-Based Restricted Stock Unit Agreement for Executives under the 2012 Equity Incentive Plan, dated October 28, 2021</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">001-35662</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.8</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 22, 2022</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.8*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1107843/000119312512350036/d355355dex1010.htm">Form of director and executive officer indemnification agreement.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">S-1/A</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333-182027</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.10</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">August 10, 2012</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.9*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1107843/000119312516554340/d85159ddef14a.htm">Qualys, Inc. Executive Performance Bonus Plan.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Schedule 14A, Appendix A</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">001-35662</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">N/A</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">April 25, 2016</span></td></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">94</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="-sec-extract:summary;margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:8.185%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.942%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:37.185%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.328%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.185%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.333%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Incorporated by Reference</span></td></tr><tr><td colspan="3" style="border-bottom:0.75pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Exhibit</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Number</span></div></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:0.75pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Description</span></td><td colspan="3" style="border-bottom:0.75pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Filed <br/>Herewith</span></td><td colspan="3" style="border-bottom:0.75pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Form</span></td><td colspan="3" style="border-bottom:0.75pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">File No.</span></td><td colspan="3" style="border-bottom:0.75pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Exhibit No.</span></td><td colspan="3" style="border-bottom:0.75pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Filing Date</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.10*#</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="qlys-20231231xex1010.htm">Qualys, Inc. 2023 Corporate Bonus Plan.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">X</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.11</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1107843/000119312516741827/d270006dex101.htm">Lease Agreement, between Qualys, Inc. and Hudson Metro Center, LLC, dated October 14, 2016.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">001-35662</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">October 19, 2016</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="qlys-20231231xex211.htm">List of subsidiaries of Qualys, Inc.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">X</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="qlys-20231231xex231.htm">Consent of Grant Thornton LLP, independent registered public accounting firm.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">X</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="qlys-20231231xex311.htm">Certification of Chief Executive Officer pursuant to Rule 13a-14(a) or Rule 15d-14(a) of the Securities Exchange Act of 1934, as adopted pursuant to Section 302 of The Sarbanes-Oxley Act of 2002.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">X</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31.2</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="qlys-20231231xex312.htm">Certification of Chief Financial Officer pursuant to Rule 13a-14(a) or Rule 15d-14(a) of the Securities Exchange Act of 1934, as adopted pursuant to Section 302 of The Sarbanes-Oxley Act of 2002.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">X</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="qlys-20231231xex321.htm">Certification of Chief Executive Officer pursuant to Rule 13a-14(b) or Rule 15d-14(b) of the Securities Exchange Act of 1934 and 18 U.S.C. Section 1350 as adopted pursuant to Section 906 of The Sarbanes-Oxley Act of 2002.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">X</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32.2</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="qlys-20231231xex322.htm">Certification of Chief Financial Officer pursuant to Rule 13a-14(b) or Rule 15d-14(b) of the Securities Exchange Act of 1934 and 18 U.S.C. Section 1350 as adopted pursuant to Section 906 of The Sarbanes-Oxley Act of 2002.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">X</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">97.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="qlys-20231231xex971.htm">Qualys Inc. Compensation Recovery Policy, as adopted on October 26, 2023</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">X</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">101.INS</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inline XBRL Instance Document - the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">X</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">101.SCH</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inline XBRL Taxonomy Extension Schema Document.</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">X</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">101.CAL</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inline XBRL Taxonomy Extension Calculation Linkbase Document.</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">X</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">101.DEF</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inline XBRL Taxonomy Extension Definition Linkbase.</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">X</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">95</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="-sec-extract:summary;margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:8.185%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.942%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:37.185%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.328%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.185%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.471%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.333%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Incorporated by Reference</span></td></tr><tr><td colspan="3" style="border-bottom:0.75pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Exhibit</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Number</span></div></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:0.75pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Description</span></td><td colspan="3" style="border-bottom:0.75pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Filed <br/>Herewith</span></td><td colspan="3" style="border-bottom:0.75pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Form</span></td><td colspan="3" style="border-bottom:0.75pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">File No.</span></td><td colspan="3" style="border-bottom:0.75pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Exhibit No.</span></td><td colspan="3" style="border-bottom:0.75pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Filing Date</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">101.LAB</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inline XBRL Taxonomy Extension Labels Linkbase Document.</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">X</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">101.PRE</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inline XBRL Taxonomy Extension Presentation Linkbase Document.</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">X</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">104</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cover Page Interactive Data File - formatted in Inline XBRL and included as Exhibit 101.</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">X</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indicates a management contract or compensatory plan or arrangement.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">#</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Portions of the exhibit, marked by brackets, have been omitted because the omitted information (i) is not material and (ii) would likely cause competitive harm if publicly disclosed.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr></table></div><div style="margin-top:12pt"><span><br/></span></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span><br/></span></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_521"></div><div style="margin-top:12pt;padding-left:54pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 16. &#160;&#160;&#160;&#160;Form 10-K Summary</span></div><div style="margin-top:12pt;padding-left:90pt;text-indent:-54pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">96</span></div></div></div><div id="i0668aaa2a4b841bfbaf18f9d4436768b_181"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SIGNATURES</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this Annual Report on Form 10-K to be signed on its behalf by the undersigned, thereunto duly authorized, in the City of Foster City, State of California on February&#160;22, 2024</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="margin-top:30pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:50.900%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.757%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:35.043%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">QUALYS, INC.</span></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">By:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">/s/ SUMEDH S. THAKAR</span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sumedh S. Thakar</span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">President and Chief Executive Officer</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(principal executive officer)</span></td></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">97</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="margin-top:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Table of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0668aaa2a4b841bfbaf18f9d4436768b_7">Contents</a></span></div></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the Registrant and in the capacities indicated:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"/><td style="width:22.757%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:58.614%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.371%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.187%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Signature</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Title</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Date</span></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">/s/ SUMEDH S. THAKAR</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Director, President and Chief Executive Officer (principal executive officer)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 22, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sumedh S. Thakar</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">/s/ JOO MI KIM</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Chief Financial Officer (principal financial officer and principal accounting officer)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 22, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Joo Mi Kim</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">/s/ JEFFREY P. HANK</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Chair of the Board of Directors</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 22, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Jeffrey P. Hank</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">/s/ THOMAS P. BERQUIST</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Director</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 22, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thomas P. Berquist</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">/s/ WILLIAM BERUTTI</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Director</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 22, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">William Berutti</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">/s/ WENDY M. PFEIFFER</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Director</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 22, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Wendy M. Pfeiffer</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">/s/ KRISTI M. ROGERS</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Director</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 22, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Kristi M. Rogers</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">/s/ JOHN A. ZANGARDI</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Director</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 22, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">John A. Zangardi</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">98</span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.10
<SEQUENCE>2
<FILENAME>qlys-20231231xex1010.htm
<DESCRIPTION>EX-10.10
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="iea3d7f2685584e20b319e157d52104b2_34"></div><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 10.10</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">&#91;***&#93; The Appendix in this document has been excluded because it both (i) is not material and (ii) would likely cause competitive harm to the registrant if publicly disclosed.</font></div><div><font><br></font></div><div style="text-align:center"><img alt="qualyslogo.jpg" src="qualyslogo.jpg" style="height:169px;margin-bottom:5pt;vertical-align:text-bottom;width:192px"></div><div><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023 CORPORATE BONUS PLAN</font></div><div style="text-align:center"><font><br></font></div><div style="text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">1. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Purpose.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The purpose of this 2023 Corporate Bonus Plan (the &#8220;Plan&#8221;) is to motivate and encourage the employees of Qualys (the &#8220;Company&#8221;) to achieve its stated goals and to assist the Company in attracting, motivating and retaining employees on a competitive basis.</font></div><div style="text-indent:36pt"><font><br></font></div><div style="text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Eligibility</font></div><div style="text-indent:36pt"><font><br></font></div><div style="text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a) An officer or employee of the Company is designated as a participant in the Plan (&#34;Participant&#34;) and shall be eligible to participate in the Plan if they are either a regular full-time or regular part-time employee (working greater than 20 hours a week) and they are not already participating in a separate Compensation or MBO plan.</font></div><div style="padding-left:36pt;text-indent:36pt"><font><br></font></div><div style="text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">New Hires.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> New employees hired in the first or second month of a quarter will be eligible to participate in the Plan for that quarter, such participation will be prorated based on the number of working days employed in the quarter.</font></div><div><font><br></font></div><div style="text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(c) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Termination of Employment.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> To be eligible for the bonus, the employee must be employed as of the last working day of the quarter.</font></div><div><font><br></font></div><div style="text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(d) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Absence during Performance Period.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> If a Participant is absent for a period of more than one-half of the working days in a quarter, for any reason, the Participant&#8217;s bonus payment will be prorated based on the number of working days the Participant actually worked compared to the total number of working days during that quarter.</font></div><div style="text-indent:36pt"><font><br></font></div><div style="text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">3. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Bonus Criteria</font></div><div><font><br></font></div><div style="text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Bonus Period.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The Bonus Plan is effective from January 1, 2023 through December 31, 2023. Each calendar quarter is a separate bonus period.</font></div><div><font><br></font></div><div style="text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Bonus Level. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A Participant&#8217;s level of participation in the Plan is set based on the corporate bonus level as of the last working day of that quarter as well as their location and applicable variable plan during the Bonus Period as determined by the Human Resources Department. This will be applied to the Participant&#8217;s base salary to determine the bonus amount.</font></div><div><font><br></font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effective 1&#47;1&#47;2023</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(c) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Objective Criteria&#58;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The Plan payments will be based on ASV (as defined below), Revenue (as defined below) and Non-GAAP EPS (as defined below).</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ASV.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The stated goal is the growth in company-wide bookings as represented by Annual Subscription Value (&#8220;ASV&#8221;) for the current quarter over the same quarter of the prior year. ASV is the sum of one year&#8217;s worth of subscribed revenues to Qualys for all new, renewal and upsell subscriptions contracted by customers and channel partners in each quarter. ASV is determined by policies and practices administered by the Controller and the final quarterly ASV amount is approved by the CFO.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The stated goal is the growth in company-wide revenue (as determined in accordance with GAAP and set forth in the Company&#8217;s quarterly and annual financial statements) for the current quarter over the same quarter of the prior year.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Non-GAAP EPS.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The stated goal is Non-GAAP earnings per diluted share. Non-GAAP EPS is GAAP net income less stock-based compensation expense, acquisition-related expenses (except for ordinary course advisory fees), tax adjustments and bonus payments under this Plan divided by weighted average shares (diluted) for the applicable quarter.</font></div><div><font><br></font></div><div style="text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(d) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Payout Calculation.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> A Participant&#8217;s bonus amount will be equal to the aggregate for each of the applicable objective goals as follows&#58; the payment percentage described below multiplied by weighting percentage for the applicable goal. ASV Growth, Revenue Growth and Non-GAAP EPS shall be the 3 goals and shall be equally weighted.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ASV.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The payout percentage scales based upon achievement of ASV as described in Section 1 of the Appendix </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#91;***&#93;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The payout percentage scales based upon achievement of Revenue as described in Section 2 of the Appendix </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#91;***&#93;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Non-GAAP EPS.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The payout percentage scales based upon achievement of Non-GAAP EPS as described in Section 3 of the Appendix </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#91;***&#93;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</font></div><div><font><br></font></div><div style="text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(e) </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Bonus Payments.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Bonus payments to Participants under this Plan will be made with the first payroll of the second month following the end of the quarter. Bonus payments are &#8220;gross&#8221; amounts, meaning that they constitute the full amount and that there will be no other increases (for example, to cover income taxes). The company will deduct from any payment under the Plan the amount of all applicable income and employment taxes, and any other amounts required by law to be withheld or deducted from such payment, and any voluntary deductions applicable. None of the payments will be &#8220;benefits bearing&#8221; (i.e., the bonus amounts will not be used for purposes of determining any other company-provided benefits or compensation).</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Administration.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> This Plan shall be administered by the Company&#8217;s CFO (except with respect to Participants who are the Company&#8217;s executive officers, in which case the Compensation and Talent Committee of the Board of Directors will serve as the administrator), who may make and apply such rules deemed desirable or necessary to administer the Plan in the best interests of the Company. All questions of interpretation or application of the Plan may be addressed in writing to the CFO (or as applicable, the Compensation and Talent Committee), who shall review each inquiry in good faith, and each such determination shall be final and binding. With the approval of the Compensation and Talent Committee, the results with respect to determination of ASV, Revenue, and Non-GAAP EPS will be adjusted to remove the effects of charges for restructurings, discontinued operations, extraordinary items and all items of gain, loss or expense determined to be extraordinary or unusual in nature or related to the disposal of a segment of a business or related to a change in accounting principle, asset write-downs, litigation, claims, judgments or settlements, the effect of changes in tax law or other such laws or provisions affecting reported results, accruals for reorganization and restructuring programs.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effective 1&#47;1&#47;2023</font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21.1
<SEQUENCE>3
<FILENAME>qlys-20231231xex211.htm
<DESCRIPTION>EX-21.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i62e3e75c6ee54c6883d7f52537f8aea5_1"></div><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div><font><br></font></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 21.1</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">List of subsidiaries of Qualys, Inc.*</font></div><div><font><br></font></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:68.932%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.441%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:28.227%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Name of Subsidiary</font></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Jurisdiction of Incorporation or Organization</font></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys International, Inc.</font></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Delaware</font></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Blue Jay Acquisition Sub, Inc.</font></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Delaware</font></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys Brazil Desenvolvimento de Produtos e Consultoria de Tecnologias de Seguranca LTDA.</font></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Brazil</font></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys Canada, Ltd.</font></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Canada</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys Technologies, S.A.</font></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">France</font></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys GmbH</font></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Germany</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys Hong Kong Limited</font></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Hong Kong</font></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys Security TechServices Private Ltd.</font></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">India</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys Japan K.K.</font></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Japan</font></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys Singapore Pte. Ltd.</font></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Singapore</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys Middle East FZE</font></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United Arab Emirates</font></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys Ltd.</font></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United Kingdom</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys Australia Pty Ltd.</font></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Australia</font></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys Switzerland Sarl</font></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Switzerland</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys Colombia S.A.S.</font></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Colombia</font></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys South Africa Proprietary Limited</font></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">South Africa</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys Netherlands B.V.</font></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">The Netherlands</font></td></tr></table></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </font></div><div><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">* Inclusion on the list above is not an admission that any of the above entities, individually or in the aggregate, constitutes a significant subsidiary within the meaning of Rule 1-02(w) of Regulation S-X and Item 601(b)(21)(ii) of Regulation S-K.</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>4
<FILENAME>qlys-20231231xex231.htm
<DESCRIPTION>EX-23.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="id77b88ff88214484b280b59d4102eb6b_1"></div><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 23.1</font></div><div><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</font></div><div><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have issued our reports dated February&#160;22, 2024, with respect to the consolidated financial statements and internal control over financial reporting included in the Annual Report of Qualys, Inc. on Form 10-K for the year ended December&#160;31, 2023. We consent to the incorporation by reference of said reports in the Registration Statements of Qualys, Inc. on Forms S-8 (File Nos. 333-184394, 333-193576, 333-202587, 333-209735, 333-216232, 333-223192, 333-229908, 333-236576, 333-253373, 333-257657 and 333-262912).</font></div><div><font><br></font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#47;s&#47; GRANT THORNTON LLP</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">San Jose, California</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February&#160;22, 2024</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>5
<FILENAME>qlys-20231231xex311.htm
<DESCRIPTION>EX-31.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i23d2269eb9b3456aba190a584f48757e_1"></div><div style="min-height:36pt;width:100%"><div><font><br></font></div></div><div style="margin-top:12pt;text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 31.1</font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION OF CHIEF EXECUTIVE OFFICER</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PURSUANT TO RULE 13a-14(a) OR RULE 15d-14(a)</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">OF THE SECURITIES EXCHANGE ACT OF 1934</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Sumedh S. Thakar, certify that&#58;</font></div><div style="margin-top:12pt;padding-left:27pt;text-align:justify;text-indent:-27pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:19.5pt">I have reviewed this annual report on Form 10-K of Qualys, Inc.&#59;</font></div><div style="margin-top:12pt;padding-left:27pt;text-align:justify;text-indent:-27pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:19.5pt">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report&#59;</font></div><div style="margin-top:12pt;padding-left:27pt;text-align:justify;text-indent:-27pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:19.5pt">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report&#59;</font></div><div style="margin-top:12pt;padding-left:27pt;text-align:justify;text-indent:-27pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:19.5pt">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have&#58;</font></div><div style="margin-top:12pt;padding-left:45pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.91pt">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59;</font></div><div style="margin-top:12pt;padding-left:45pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59;</font></div><div style="margin-top:12pt;padding-left:45pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(c)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.91pt">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation&#59; and</font></div><div style="margin-top:12pt;padding-left:45pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(d)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></div><div style="margin-top:12pt;padding-left:27pt;text-align:justify;text-indent:-27pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:19.5pt">The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions)&#58;</font></div><div style="margin-top:12pt;padding-left:45pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.91pt">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information&#59; and</font></div><div style="margin-top:12pt;padding-left:45pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.</font></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:45.415%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:41.325%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 22, 2024</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; SUMEDH S. THAKAR</font></div></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sumedh S. Thakar</font></div></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">President and Chief Executive Officer</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(principal executive officer)</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys, Inc.</font></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>6
<FILENAME>qlys-20231231xex312.htm
<DESCRIPTION>EX-31.2
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i9a52f03470504ad386454feaf46515f6_1"></div><div style="min-height:36pt;width:100%"><div><font><br></font></div></div><div style="margin-top:12pt;text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 31.2</font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION OF CHIEF FINANCIAL OFFICER</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PURSUANT TO RULE 13a-14(a) OR RULE 15d-14(a)</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">OF THE SECURITIES EXCHANGE ACT OF 1934</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Joo Mi Kim, certify that&#58;</font></div><div style="margin-top:12pt;padding-left:27pt;text-align:justify;text-indent:-27pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:19.5pt">I have reviewed this annual report on Form 10-K of Qualys, Inc.&#59;</font></div><div style="margin-top:12pt;padding-left:27pt;text-align:justify;text-indent:-27pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:19.5pt">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report&#59;</font></div><div style="margin-top:12pt;padding-left:27pt;text-align:justify;text-indent:-27pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:19.5pt">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report&#59;</font></div><div style="margin-top:12pt;padding-left:27pt;text-align:justify;text-indent:-27pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:19.5pt">The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have&#58;</font></div><div style="margin-top:12pt;padding-left:45pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.91pt">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59;</font></div><div style="margin-top:12pt;padding-left:45pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59;</font></div><div style="margin-top:12pt;padding-left:45pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(c)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.91pt">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation&#59; and</font></div><div style="margin-top:12pt;padding-left:45pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(d)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></div><div style="margin-top:12pt;padding-left:27pt;text-align:justify;text-indent:-27pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:19.5pt">The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions)&#58;</font></div><div style="margin-top:12pt;padding-left:45pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.91pt">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information&#59; and</font></div><div style="margin-top:12pt;padding-left:45pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.</font></div><div style="margin-top:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:45.415%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:41.325%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 22, 2024</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; JOO MI KIM</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Joo Mi Kim</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Financial Officer</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(principal financial and accounting officer)</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys, Inc.</font></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>7
<FILENAME>qlys-20231231xex321.htm
<DESCRIPTION>EX-32.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i18e45502a54d4337a8b31eca5382f41b_1"></div><div style="min-height:45pt;width:100%"><div><font><br></font></div></div><div style="margin-top:12pt;text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 32.1</font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION OF CHIEF EXECUTIVE OFFICER</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PURSUANT TO RULE 13a-14(b) OR RULE 15d-14(b)</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">OF THE SECURITIES EXCHANGE ACT OF 1934 AND 18 U.S.C. SECTION 1350</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with the Annual Report of Qualys, Inc. (the &#8220;Company&#8221;) on Form 10-K for the year ended December&#160;31, 2023, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), I, Sumedh S. Thakar, Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. &#167; 1350, as adopted pursuant to &#167; 906 of the Sarbanes-Oxley Act of 2002, that, to the best of my knowledge&#58;</font></div><div style="padding-left:45pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934&#59; and</font></div><div style="padding-left:45pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:45.415%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:41.325%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 22, 2024</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; SUMEDH S. THAKAR</font></div></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sumedh S. Thakar</font></div></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">President and Chief Executive Officer</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(principal executive officer)</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys, Inc.</font></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>8
<FILENAME>qlys-20231231xex322.htm
<DESCRIPTION>EX-32.2
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="ie01d9342e35e4745853c12a3d2822e4a_1"></div><div style="min-height:45pt;width:100%"><div><font><br></font></div></div><div style="margin-top:12pt;text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 32.2</font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION OF CHIEF FINANCIAL OFFICER</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PURSUANT TO RULE 13a-14(b) OR RULE 15d-14(b)</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">OF THE SECURITIES EXCHANGE ACT OF 1934 AND 18 U.S.C. SECTION 1350</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with the Annual Report of Qualys, Inc. (the &#8220;Company&#8221;) on Form 10-K for the year ended December&#160;31, 2023, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), I, Joo Mi Kim, Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. &#167; 1350, as adopted pursuant to &#167; 906 of the Sarbanes-Oxley Act of 2002, that, to the best of my knowledge&#58;</font></div><div style="padding-left:45pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934&#59; and</font></div><div style="padding-left:45pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:9.960%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:45.415%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:41.325%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 22, 2024</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; JOO MI KIM</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Joo Mi Kim</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Financial Officer</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(principal financial and accounting officer)</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Qualys, Inc.</font></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-97.1
<SEQUENCE>9
<FILENAME>qlys-20231231xex971.htm
<DESCRIPTION>EX-97.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i5d3c974eca834b0fb2e43d9bfa904d70_1"></div><div style="min-height:45pt;width:100%"><div><font><br></font></div></div><div style="margin-top:12pt;text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 97.1</font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">QUALYS, INC.</font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COMPENSATION RECOVERY POLICY</font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As adopted on October 26, 2023</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Qualys, Inc. (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Company</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;) is committed to strong corporate governance. As part of this commitment, the Company&#8217;s Board of Directors (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Board</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;) has adopted this clawback policy called the Compensation Recovery Policy (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Policy</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;). The Policy is intended to further the Company&#8217;s pay-for-performance philosophy and to comply with applicable laws by providing rules relating to the reasonably prompt recovery of certain compensation received by Covered Executives in the event of an Accounting Restatement. The application of the Policy to Covered Executives is not discretionary, except to the limited extent provided below, and applies without regard to whether a Covered Executive was at fault. Capitalized terms used in the Policy are defined below, and the definitions have substantive impact on its application so reviewing them carefully is important to your understanding.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Policy is intended to comply with, and will be interpreted in a manner consistent with, Section 10D of the Securities Exchange Act of 1934 (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exchange Act</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;), with Exchange Act Rule 10D-1 and with the listing standards of the national securities exchange (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exchange</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;) on which the securities of the Company are listed,</font><font style="color:#ff0000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">including any official interpretive guidance. </font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Persons Covered by the Policy</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#262626;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Policy is binding and enforceable against all &#8220;</font><font style="color:#262626;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Covered Executives.</font><font style="color:#262626;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221; A Covered Executive is each individual who is or was ever designated as an &#8220;officer&#8221; by the Board in accordance with Exchange Act Rule 16a-1(f) (a &#8220;</font><font style="color:#262626;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Section 16 Officer</font><font style="color:#262626;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;). The Committee may (but is not obligated to) request or require a Covered Executive to sign and return to the Company an acknowledgement that such Covered Executive will be bound by the terms and comply with the Policy. The Policy is binding on each Covered Executive whether or not the Covered Executive signs and&#47;or returns any acknowledgment.</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Administration of the Policy</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Compensation and Talent Committee (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Committee</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;) of the Board has full delegated authority to administer the Policy. The Committee is authorized to interpret and construe the Policy and to make all determinations necessary, appropriate, or advisable for the administration of the Policy. In addition, if determined in the discretion of the Board, the Policy may be administered by the independent members of the Board or another committee of the Board made up of independent members of the Board, in which case all references to the Committee will be deemed to refer to the independent members of the Board or the other Board committee. All determinations of the Committee will be final and binding and will be given the maximum deference permitted by law.</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accounting Restatements Requiring Application of the Policy</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If the Company is required to prepare an accounting restatement due to the material noncompliance of the Company with any financial reporting requirement under the securities laws, including any required accounting restatement to correct an error in previously issued financial statements that is material to the previously issued financial statements, or that would result in a material misstatement if the error were corrected in the current period or left uncorrected in the current period (an &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accounting Restatement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;), then the Committee must determine the Excess Compensation, if any, that must be recovered. The Company&#8217;s obligation to recover Excess Compensation is not dependent on if or when restated financial statements are filed.</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Compensation Covered by the Policy</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Policy applies to certain </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Incentive-Based Compensation</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (certain terms used in this Section are defined below) that is </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Received</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> on or after October 2, 2023 (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Effective Date</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;), during the </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Covered Period</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> while the Company has a class of securities listed on a national securities exchange. Such Incentive-Based Compensation is considered &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Clawback Eligible Incentive-Based Compensation</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221; if the Incentive-Based Compensation is Received by a person after such person became a Section 16 Officer and the person served as a Section 16 Officer at any time during the </font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">performance period for the Incentive-Based Compensation. &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Excess Compensation</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221; means the amount of Clawback Eligible Incentive-Based Compensation that exceeds the amount of Clawback Eligible Incentive-Based Compensation that otherwise would have been Received had such Clawback Eligible Incentive-Based Compensation been determined based on the restated amounts. Excess Compensation must be computed without regard to any taxes paid and is referred to in the listings standards as &#8220;erroneously awarded compensation&#8221;.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To determine the amount of Excess Compensation for Incentive-Based Compensation based on stock price or total shareholder return, where it is not subject to mathematical recalculation directly from the information in an Accounting Restatement, the amount must be based on a reasonable estimate of the effect of the Accounting Restatement on the stock price or total shareholder return upon which the Incentive-Based Compensation was Received and the Company must maintain documentation of the determination of that reasonable estimate and provide that documentation to the Exchange.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Incentive-Based Compensation</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221; means any compensation that is granted, earned, or vested based wholly or in part upon the attainment of a Financial Reporting Measure. For the avoidance of doubt, no compensation that is potentially subject to recovery under the Policy will be earned until the Company&#8217;s right to recover under the Policy has lapsed.  </font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Reporting Measures</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221; are measures that are determined and presented in accordance with the accounting principles used in preparing the Company&#8217;s financial statements, and any measures that are derived wholly or in part from such measures. Stock price and total shareholder return are also Financial Reporting Measures. A Financial Reporting Measure need not be presented within the financial statements or included in a filing with the Securities and Exchange Commission. </font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Incentive-Based Compensation is &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Received</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221; under the Policy in the Company&#8217;s fiscal period during which the Financial Reporting Measure specified in the Incentive-Based Compensation award is attained, even if the payment, vesting, settlement or grant of the Incentive-Based Compensation occurs after the end of that period. For the avoidance of doubt, the Policy does not apply to Incentive-Based Compensation for which the Financial Reporting Measure is attained prior to the Effective Date.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Covered Period</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221; means the three completed fiscal years immediately preceding the Accounting Restatement Determination Date. In addition, Covered Period can include certain transition periods resulting from a change in the Company&#8217;s fiscal year. </font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accounting Restatement Determination Date</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221; means the earliest to occur of&#58; (a) the date the Board, a committee of the Board, or one or more of the officers of the Company authorized to take such action if Board action is not required, concludes, or reasonably should have concluded, that the Company is required to prepare an Accounting Restatement&#59; and (b) the date a court, regulator, or other legally authorized body directs the Company to prepare an Accounting Restatement.</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Repayment of Excess Compensation</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company must recover Excess Compensation reasonably promptly and Covered Executives are required to repay Excess Compensation to the Company. Subject to applicable law, the Company may recover Excess Compensation by requiring the Covered Executive to repay such amount to the Company by direct payment to the Company or such other means or combination of means as the Committee determines to be appropriate (these determinations do not need to be identical as to each Covered Executive). These means include (but are not limited to)&#58;</font></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">requiring reimbursement of cash Incentive-Based Compensation previously paid&#59; </font></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">seeking recovery of any gain realized on the vesting, exercise, settlement, sale, transfer, or other disposition of any equity-based awards (including, but not limited to, time-based vesting awards), without regard to whether such awards are Incentive-Based Compensation or vest based on the achievement of performance goals&#59; </font></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">c.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">offsetting the amount to be recovered from any unpaid or future compensation to be paid by the Company or any affiliate of the Company to the Covered Executive, including (but not limited to) payments of severance that might otherwise be due in connection with a Covered Executive&#8217;s termination of employment and without regard to whether such amounts are Incentive-Based Compensation&#59; </font></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">d.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">cancelling outstanding vested or unvested equity awards (including, but not limited to, time-based vesting awards), without regard to whether such awards are Incentive-Based Compensation&#59; and&#47;or </font></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">e.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">taking any other remedial and recovery action permitted by law, as determined by the Committee. </font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The repayment of Excess Compensation must be made by a Covered Executive notwithstanding any Covered Executive&#8217;s belief (whether or not legitimate) that the Excess Compensation had been previously earned under applicable law and therefore is not subject to clawback. </font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition to its rights to recovery under the Policy, the Company or any affiliate of the Company may take any legal actions it determines appropriate to enforce a Covered Executive&#8217;s obligations to the Company or to discipline a Covered Executive. Failure of a Covered Executive to comply with their obligations under the Policy may result in (without limitation) termination of that Covered Executive&#8217;s employment, institution of civil proceedings, reporting of misconduct to appropriate governmental authorities, reduction of future compensation opportunities or change in role. The decision to take any actions described in the preceding sentence will not be subject to the approval of the Committee and can be made by the Board, any committee of the Board, or any duly authorized officer of the Company or of any applicable affiliate of the Company. For avoidance of doubt, any decisions of the Company or the Covered Executive&#8217;s employer to discipline a Covered Executive or terminate the employment of a Covered Executive are independent of determinations under this Policy. For example, if a Covered Executive was involved in activities that led to an Accounting Restatement, the Company&#8217;s decision as to whether to not to terminate such Covered Executive&#8217;s employment would be made under its employment arrangements with such Covered Executive and the requirement to apply this no-fault and non-discretionary clawback policy will not be determinative of whether any such termination is for cause, although failure to comply with the Policy might be something that could result in a termination for cause depending on the terms of such arrangements.</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Limited Exceptions to the Policy</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company must recover the Excess Compensation in accordance with the Policy except to the limited extent that any of the conditions set forth below is met, and the Committee determines that recovery of the Excess Compensation would be impracticable&#58;</font></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">The direct expense paid to a third party to assist in enforcing the Policy would exceed the amount to be recovered. Before reaching this conclusion, the Company must make a reasonable attempt to recover such Excess Compensation, document such reasonable attempt(s) to recover, and provide that documentation to the Exchange&#59; or</font></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Recovery would likely cause an otherwise tax-qualified retirement plan, under which benefits are broadly available to employees of the Company, to fail to meet the legal requirements as such.</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Other Important Information in the Policy</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Policy is in addition to the requirements of Section 304 of the Sarbanes-Oxley Act of 2002 that are applicable to the Company&#8217;s Chief Executive Officer and Chief Financial Officer, as well as any other applicable laws, regulatory requirements, rules, or pursuant to the terms of any existing Company policy or agreement providing for the recovery of compensation.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Notwithstanding the terms of any of the Company&#8217;s organizational documents (including, but not limited to, the Company&#8217;s bylaws), any corporate policy or any contract (including, but not limited to, any indemnification agreement), neither the Company nor any affiliate of the Company will indemnify or provide advancement for any Covered Executive against any loss of Excess Compensation. Neither the Company nor any affiliate of the Company will pay for or reimburse insurance premiums for an insurance policy that covers potential recovery obligations. In the event that the Company is required to recover Excess Compensation pursuant to the Policy from a Covered Executive who is no longer an employee, the Company will be entitled to seek recovery in order to comply with applicable law, regardless of the terms of any release of claims or separation agreement that individual may have signed. </font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Committee or Board may review and modify the Policy from time to time.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If any provision of the Policy or the application of any such provision to any Covered Executive is adjudicated to be invalid, illegal or unenforceable in any respect, such invalidity, illegality or unenforceability will not affect any other </font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">provisions of the Policy or the application of such provision to another Covered Executive, and the invalid, illegal or unenforceable provisions will be deemed amended to the minimum extent necessary to render any such provision or application enforceable.</font></div><div style="margin-top:12pt;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Policy will terminate and no longer be enforceable when the Company ceases to be a listed issuer within the meaning of Section 10D of the Exchange Act.</font></div><div style="margin-top:12pt;text-align:center;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ACKNOWLEDGEMENT</font></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">I acknowledge that I have received and read the Compensation Recovery Policy (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Policy</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;) of Qualys, Inc. (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Company</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;).</font></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">I understand and acknowledge that the Policy applies to me, and all of my beneficiaries, heirs, executors, administrators or other legal representatives and that the Company&#8217;s right to recovery in order to comply with applicable law will apply, regardless of the terms of any release of claims or separation agreement I have signed or will sign in the future.</font></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">I agree to be bound by and to comply with the Policy and understand that determinations of the Committee (as such term is used in the Policy) will be final and binding and will be given the maximum deference permitted by law.</font></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">I understand and agree that my current indemnification rights, whether in an individual agreement or the Company&#8217;s organizational documents, exclude the right to be indemnified for amounts required to be recovered under the Policy.</font></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">I understand that my failure to comply in all respects with the Policy is a basis for termination of my employment with the Company and any affiliate of the Company as well as any other appropriate discipline.</font></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">I understand that neither the Policy, nor the application of the Policy to me, gives rise to a resignation for good reason (or similar concept) by me under any applicable employment agreement or arrangement.</font></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">I acknowledge that if I have questions concerning the meaning or application of the Policy, it is my responsibility to seek guidance from the Chief Legal Officer or my own personal advisors.</font></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">I acknowledge that neither this Acknowledgement nor the Policy is meant to constitute an employment contract.</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Please review, sign and return this form to Human Resources.</font></div><div style="margin-top:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:32.727%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Covered Executive<br></font><font style="font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%"><br><br><br></font></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%">print name</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">)</font></div><div><font><br></font></div><div><font><br></font></div></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%">signature</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">)</font></div><div><font><br></font></div><div><font><br></font></div></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%">(date)<br></font><font style="font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%"><br></font></td></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>10
<FILENAME>qlys-20231231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:f4ea1f53-8015-46e0-94c5-3054ac171407,g:ad08069b-edd9-4caa-93e6-69d8513fda7d-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:qlys="http://www.qualys.com/20231231" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dtr-types1="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.qualys.com/20231231">
  <xs:import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd"/>
  <xs:import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd"/>
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.xbrl.org/2003/xlink-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/ecd/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd"/>
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="qlys-20231231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="qlys-20231231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="qlys-20231231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="qlys-20231231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="Cover" roleURI="http://www.qualys.com/role/Cover">
        <link:definition>0000001 - Document - Cover</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AuditInformation" roleURI="http://www.qualys.com/role/AuditInformation">
        <link:definition>0000002 - Document - Audit Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedBalanceSheets" roleURI="http://www.qualys.com/role/ConsolidatedBalanceSheets">
        <link:definition>0000003 - Statement - Consolidated Balance Sheets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedBalanceSheetsParenthetical" roleURI="http://www.qualys.com/role/ConsolidatedBalanceSheetsParenthetical">
        <link:definition>0000004 - Statement - Consolidated Balance Sheets (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofOperations" roleURI="http://www.qualys.com/role/ConsolidatedStatementsofOperations">
        <link:definition>0000005 - Statement - Consolidated Statements of Operations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofComprehensiveIncome" roleURI="http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome">
        <link:definition>0000006 - Statement - Consolidated Statements of Comprehensive Income</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofCashFlows" roleURI="http://www.qualys.com/role/ConsolidatedStatementsofCashFlows">
        <link:definition>0000007 - Statement - Consolidated Statements of Cash Flows</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofStockholdersEquity" roleURI="http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity">
        <link:definition>0000008 - Statement - Consolidated Statements of Stockholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="TheCompanyandSummaryofSignificantAccountingPolicies" roleURI="http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPolicies">
        <link:definition>0000009 - Disclosure - The Company and Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueofFinancialInstruments" roleURI="http://www.qualys.com/role/FairValueofFinancialInstruments">
        <link:definition>0000010 - Disclosure - Fair Value of Financial Instruments</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccumulatedOtherComprehensiveIncomeLoss" roleURI="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLoss">
        <link:definition>0000011 - Disclosure - Accumulated Other Comprehensive Income (Loss)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyandEquipmentNet" roleURI="http://www.qualys.com/role/PropertyandEquipmentNet">
        <link:definition>0000012 - Disclosure - Property and Equipment, Net</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenuefromContractsWithCustomers" roleURI="http://www.qualys.com/role/RevenuefromContractsWithCustomers">
        <link:definition>0000013 - Disclosure - Revenue from Contracts With Customers</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Acquisitions" roleURI="http://www.qualys.com/role/Acquisitions">
        <link:definition>0000014 - Disclosure - Acquisitions</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsNet" roleURI="http://www.qualys.com/role/IntangibleAssetsNet">
        <link:definition>0000015 - Disclosure - Intangible Assets, Net</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Leases" roleURI="http://www.qualys.com/role/Leases">
        <link:definition>0000016 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentandContingencies" roleURI="http://www.qualys.com/role/CommitmentandContingencies">
        <link:definition>0000017 - Disclosure - Commitment and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockbasedCompensation" roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensation">
        <link:definition>0000018 - Disclosure - Stockholders' Equity and Stock-based Compensation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EmployeeBenefitPlan" roleURI="http://www.qualys.com/role/EmployeeBenefitPlan">
        <link:definition>0000019 - Disclosure - Employee Benefit Plan</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxes" roleURI="http://www.qualys.com/role/IncomeTaxes">
        <link:definition>0000020 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentandGeographicAreaInformation" roleURI="http://www.qualys.com/role/SegmentandGeographicAreaInformation">
        <link:definition>0000021 - Disclosure - Segment and Geographic Area Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NetIncomePerShare" roleURI="http://www.qualys.com/role/NetIncomePerShare">
        <link:definition>0000022 - Disclosure - Net Income Per Share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="TheCompanyandSummaryofSignificantAccountingPoliciesPolicies" roleURI="http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies">
        <link:definition>9954471 - Disclosure - The Company and Summary of Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueofFinancialInstrumentsTables" roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsTables">
        <link:definition>9954472 - Disclosure - Fair Value of Financial Instruments (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccumulatedOtherComprehensiveIncomeLossTables" roleURI="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossTables">
        <link:definition>9954473 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyandEquipmentNetTables" roleURI="http://www.qualys.com/role/PropertyandEquipmentNetTables">
        <link:definition>9954474 - Disclosure - Property and Equipment, Net (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenuefromContractsWithCustomersTables" roleURI="http://www.qualys.com/role/RevenuefromContractsWithCustomersTables">
        <link:definition>9954475 - Disclosure - Revenue from Contracts With Customers (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsNetTables" roleURI="http://www.qualys.com/role/IntangibleAssetsNetTables">
        <link:definition>9954476 - Disclosure - Intangible Assets, Net (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesTables" roleURI="http://www.qualys.com/role/LeasesTables">
        <link:definition>9954477 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentandContingenciesTables" roleURI="http://www.qualys.com/role/CommitmentandContingenciesTables">
        <link:definition>9954478 - Disclosure - Commitment and Contingencies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockbasedCompensationTables" roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables">
        <link:definition>9954479 - Disclosure - Stockholders' Equity and Stock-based Compensation (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesTables" roleURI="http://www.qualys.com/role/IncomeTaxesTables">
        <link:definition>9954480 - Disclosure - Income Taxes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentandGeographicAreaInformationTables" roleURI="http://www.qualys.com/role/SegmentandGeographicAreaInformationTables">
        <link:definition>9954481 - Disclosure - Segment and Geographic Area Information (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NetIncomePerShareTables" roleURI="http://www.qualys.com/role/NetIncomePerShareTables">
        <link:definition>9954482 - Disclosure - Net Income Per Share (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails" roleURI="http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails">
        <link:definition>9954483 - Disclosure - The Company and Summary of Significant Accounting Policies - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueofFinancialInstrumentsFairValueHierarchyDetails" roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails">
        <link:definition>9954484 - Disclosure - Fair Value of Financial Instruments - Fair Value Hierarchy (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails">
        <link:definition>9954485 - Disclosure - Fair Value of Financial Instruments - Cash and Cash Equivalents (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails">
        <link:definition>9954486 - Disclosure - Fair Value of Financial Instruments - Summary of Securities in Unrealized Loss Positions (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails" roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails">
        <link:definition>9954487 - Disclosure - Fair Value of Financial Instruments - Summary of the Fair Value of Marketable Securities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueofFinancialInstrumentsNarrativeDetails" roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails">
        <link:definition>9954488 - Disclosure - Fair Value of Financial Instruments - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails" roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails">
        <link:definition>9954489 - Disclosure - Fair Value of Financial Instruments - Summary of Derivative Financial Instruments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails" roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails">
        <link:definition>9954490 - Disclosure - Fair Value of Financial Instruments - Amounts Recognized In Statement of Operations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails" roleURI="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails">
        <link:definition>9954491 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Accumulated Other Comprehensive Income (Loss) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails" roleURI="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails">
        <link:definition>9954492 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Amounts Reclassified from AOCI (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails" roleURI="http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails">
        <link:definition>9954493 - Disclosure - Property and Equipment, Net - Schedule of Property and Equipment, Net (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyandEquipmentNetNarrativeDetails" roleURI="http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails">
        <link:definition>9954494 - Disclosure - Property and Equipment, Net - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenuefromContractsWithCustomersNarrativeDetails" roleURI="http://www.qualys.com/role/RevenuefromContractsWithCustomersNarrativeDetails">
        <link:definition>9954495 - Disclosure - Revenue from Contracts With Customers - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails" roleURI="http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails">
        <link:definition>9954496 - Disclosure - Revenue from Contracts with Customers - Expected Revenue from All Remaining Performance Obligations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails_1" roleURI="http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails_1">
        <link:definition>9954496 - Disclosure - Revenue from Contracts with Customers - Expected Revenue from All Remaining Performance Obligations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenuefromContractsWithCustomersRevenuebySalesChannelDetails" roleURI="http://www.qualys.com/role/RevenuefromContractsWithCustomersRevenuebySalesChannelDetails">
        <link:definition>9954497 - Disclosure - Revenue from Contracts With Customers - Revenue by Sales Channel (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenuefromContractsWithCustomersCapitalizedCosttoObtainContractsCurrentandNoncurrentDetails" roleURI="http://www.qualys.com/role/RevenuefromContractsWithCustomersCapitalizedCosttoObtainContractsCurrentandNoncurrentDetails">
        <link:definition>9954498 - Disclosure - Revenue from Contracts With Customers - Capitalized Cost to Obtain Contracts, Current and Noncurrent (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsDetails" roleURI="http://www.qualys.com/role/AcquisitionsDetails">
        <link:definition>9954499 - Disclosure - Acquisitions (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" roleURI="http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails">
        <link:definition>9954500 - Disclosure - Intangible Assets, Net - Carrying Value of Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsNetDetails" roleURI="http://www.qualys.com/role/IntangibleAssetsNetDetails">
        <link:definition>9954501 - Disclosure - Intangible Assets, Net (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails" roleURI="http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails">
        <link:definition>9954502 - Disclosure - Intangible Assets, Net - Expected Amortization Expense in Future Periods (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesNarrativeDetails" roleURI="http://www.qualys.com/role/LeasesNarrativeDetails">
        <link:definition>9954503 - Disclosure - Leases - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesSupplementalCashFlowInformationDetails" roleURI="http://www.qualys.com/role/LeasesSupplementalCashFlowInformationDetails">
        <link:definition>9954504 - Disclosure - Leases - Supplemental Cash Flow Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesWeightedAverageRemainingLeaseTermandWeightedAverageDiscountRateDetails" roleURI="http://www.qualys.com/role/LeasesWeightedAverageRemainingLeaseTermandWeightedAverageDiscountRateDetails">
        <link:definition>9954505 - Disclosure - Leases - Weighted Average Remaining Lease Term and Weighted Average Discount Rate (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesMinimumAnnualLeasePaymentsDetails" roleURI="http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails">
        <link:definition>9954506 - Disclosure - Leases - Minimum Annual Lease Payments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesMinimumAnnualLeasePaymentsDetails_1" roleURI="http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1">
        <link:definition>9954506 - Disclosure - Leases - Minimum Annual Lease Payments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentandContingenciesRemainingPurchaseCommitmentsDetails" roleURI="http://www.qualys.com/role/CommitmentandContingenciesRemainingPurchaseCommitmentsDetails">
        <link:definition>9954507 - Disclosure - Commitment and Contingencies - Remaining Purchase Commitments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockbasedCompensationPreferredStockDetails" roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPreferredStockDetails">
        <link:definition>9954508 - Disclosure - Stockholders' Equity and Stock-based Compensation - Preferred Stock (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails" roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails">
        <link:definition>9954509 - Disclosure - Stockholders' Equity and Stock-based Compensation - Equity Incentive Plan (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails" roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails">
        <link:definition>9954510 - Disclosure - Stockholders' Equity and Stock-based Compensation - Summary of Stock-based Compensation Expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails" roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails">
        <link:definition>9954511 - Disclosure - Stockholders' Equity and Stock-based Compensation - Stock-based Compensation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails" roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails">
        <link:definition>9954512 - Disclosure - Stockholders' Equity and Stock-based Compensation - Performance-Based Stock Options and Restricted Stock Units (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails" roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails">
        <link:definition>9954513 - Disclosure - Stockholders' Equity and Stock-based Compensation - Fair Value Assumptions, Stock Options (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails">
        <link:definition>9954514 - Disclosure - Stockholders' Equity and Stock-based Compensation - Share-based Compensation and Stock Options Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails">
        <link:definition>9954515 - Disclosure - Stockholders' Equity and Stock-based Compensation - Summary of Restricted Stock Unit Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockbasedCompensationNarrativeDetails" roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails">
        <link:definition>9954516 - Disclosure - Stockholders' Equity and Stock-based Compensation - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails" roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails">
        <link:definition>9954517 - Disclosure - Stockholders' Equity and Stock-based Compensation - Employee Stock Purchase Plan, Valuation Assumptions (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockbasedCompensationScheduleofRepurchaseAgreementsDetails" roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationScheduleofRepurchaseAgreementsDetails">
        <link:definition>9954518 - Disclosure - Stockholders' Equity and Stock-based Compensation - Schedule of Repurchase Agreements (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails" roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails">
        <link:definition>9954519 - Disclosure - Stockholders' Equity and Stock-based Compensation - Share Repurchase Program (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EmployeeBenefitPlanDetails" roleURI="http://www.qualys.com/role/EmployeeBenefitPlanDetails">
        <link:definition>9954520 - Disclosure - Employee Benefit Plan (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesScheduleofIncomebeforeIncomeTaxDomesticandForeignDetails" roleURI="http://www.qualys.com/role/IncomeTaxesScheduleofIncomebeforeIncomeTaxDomesticandForeignDetails">
        <link:definition>9954521 - Disclosure - Income Taxes - Schedule of Income before Income Tax, Domestic and Foreign (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails" roleURI="http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails">
        <link:definition>9954522 - Disclosure - Income Taxes - Schedule of Components of Income Tax Expense (Benefit) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails" roleURI="http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails">
        <link:definition>9954523 - Disclosure - Income Taxes - Schedule of Effective Income Tax Rate Reconciliation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails" roleURI="http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails">
        <link:definition>9954524 - Disclosure - Income Taxes - Schedule of Deferred Tax Assets and Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesNarrativeDetails" roleURI="http://www.qualys.com/role/IncomeTaxesNarrativeDetails">
        <link:definition>9954525 - Disclosure - Income Taxes - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesScheduleofUnrecognizedTaxBenefitsRollForwardDetails" roleURI="http://www.qualys.com/role/IncomeTaxesScheduleofUnrecognizedTaxBenefitsRollForwardDetails">
        <link:definition>9954526 - Disclosure - Income Taxes - Schedule of Unrecognized Tax Benefits Roll Forward (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentandGeographicAreaInformationNarrativeDetails" roleURI="http://www.qualys.com/role/SegmentandGeographicAreaInformationNarrativeDetails">
        <link:definition>9954527 - Disclosure - Segment and Geographic Area Information - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails" roleURI="http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails">
        <link:definition>9954528 - Disclosure - Segment and Geographic Area Information - Revenue and Property and Equipment, Net by Geographic Area (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NetIncomePerShareBasicandDilutedNetIncomePerShareDetails" roleURI="http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails">
        <link:definition>9954529 - Disclosure - Net Income Per Share - Basic and Diluted Net Income Per Share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NetIncomePerShareAntidilutiveNetIncomePerShareDetails" roleURI="http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails">
        <link:definition>9954530 - Disclosure - Net Income Per Share - Anti-dilutive Net Income Per Share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:element id="qlys_PerformanceSharesTrancheThreeMember" abstract="true" name="PerformanceSharesTrancheThreeMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_AuditorInformationAbstract" abstract="true" name="AuditorInformationAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="qlys_The2012EquityIncentivePlanMember" abstract="true" name="The2012EquityIncentivePlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="qlys_OtherGeographicAreasMember" abstract="true" name="OtherGeographicAreasMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_ShareRepurchaseProgramTableTextBlock" abstract="false" name="ShareRepurchaseProgramTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:textBlockItemType"/>
  <xs:element id="qlys_JeffreyHankMember" abstract="true" name="JeffreyHankMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="qlys_AssetAcquisitionsPolicyTextBlock" abstract="false" name="AssetAcquisitionsPolicyTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="qlys_PaymentsToAcquireMaturitiesOfNotesReceivable" abstract="false" name="PaymentsToAcquireMaturitiesOfNotesReceivable" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="qlys_AssetAcquisitionConsiderationPayableTerm" abstract="false" name="AssetAcquisitionConsiderationPayableTerm" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget" abstract="false" name="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/>
  <xs:element id="qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested" abstract="false" name="StockIssuedDuringPeriodSharesRestrictedStockAwardVested" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember" abstract="true" name="CashHeldInEscrowWithBlueHexagonAcquisitionMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles" abstract="false" name="AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="qlys_PerformanceBasedRestrictedStockUnitsMember" abstract="true" name="PerformanceBasedRestrictedStockUnitsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" abstract="false" name="SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/>
  <xs:element id="qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="qlys_ExecutiveOfficer2Member" abstract="true" name="ExecutiveOfficer2Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" abstract="false" name="AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="qlys_ForeignGovernmentAgenciesMember" abstract="true" name="ForeignGovernmentAgenciesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable" abstract="false" name="EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/>
  <xs:element id="qlys_The2021EmployeeStockPurchasePlanMember" abstract="true" name="The2021EmployeeStockPurchasePlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_ExecutiveOfficer3Member" abstract="true" name="ExecutiveOfficer3Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" abstract="false" name="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/>
  <xs:element id="qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" abstract="false" name="SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/>
  <xs:element id="qlys_StockRepurchaseProgramRollForward" abstract="true" name="StockRepurchaseProgramRollForward" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="qlys_ScannerAppliancesMember" abstract="true" name="ScannerAppliancesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_SharebasedCompensationTerminationPeriodTrigger" abstract="false" name="SharebasedCompensationTerminationPeriodTrigger" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember" abstract="true" name="ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember" abstract="true" name="ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_ESPPSharesMember" abstract="true" name="ESPPSharesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock" abstract="false" name="CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:textBlockItemType"/>
  <xs:element id="qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock" abstract="false" name="CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:textBlockItemType"/>
  <xs:element id="qlys_AssetsAndLiabilitiesLesseeTableTextBlock" abstract="false" name="AssetsAndLiabilitiesLesseeTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:textBlockItemType"/>
  <xs:element id="qlys_PresidentAndChiefExecutiveOfficerMember" abstract="true" name="PresidentAndChiefExecutiveOfficerMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_DescriptionOfBusinessPolicyPolicyTextBlock" abstract="false" name="DescriptionOfBusinessPolicyPolicyTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:textBlockItemType"/>
  <xs:element id="qlys_AssetAcquisitionConsiderationTransferredPayable" abstract="false" name="AssetAcquisitionConsiderationTransferredPayable" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="qlys_StockRepurchaseProgramAdditionalAuthorizedAmount" abstract="false" name="StockRepurchaseProgramAdditionalAuthorizedAmount" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="qlys_DeferredLiabilitiesRightofuseAssets" abstract="false" name="DeferredLiabilitiesRightofuseAssets" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="qlys_DeferredTaxAssetsOperatingLeaseLiabilities" abstract="false" name="DeferredTaxAssetsOperatingLeaseLiabilities" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="qlys_TimeBasedSharedBasedCompensationMember" abstract="true" name="TimeBasedSharedBasedCompensationMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_DeferredTaxLiabilitiesDeferredCommission" abstract="false" name="DeferredTaxLiabilitiesDeferredCommission" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares" abstract="false" name="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization" abstract="false" name="DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="qlys_EmployeeStockPurchasePlanSharesMember" abstract="true" name="EmployeeStockPurchasePlanSharesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_AssetAcquisitionAcquisitionRelatedCosts" abstract="false" name="AssetAcquisitionAcquisitionRelatedCosts" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="qlys_ForeignExchangeContractsForGBPAndEuroMember" abstract="true" name="ForeignExchangeContractsForGBPAndEuroMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_SecurityDepositsMember" abstract="true" name="SecurityDepositsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets" abstract="false" name="PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/>
  <xs:element id="qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber" abstract="false" name="SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="qlys_ExecutiveOfficer4Member" abstract="true" name="ExecutiveOfficer4Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_ExecutiveOfficer1Member" abstract="true" name="ExecutiveOfficer1Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_BlueHexagonIncMember" abstract="true" name="BlueHexagonIncMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="qlys_AssembledWorkforceMember" abstract="true" name="AssembledWorkforceMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>11
<FILENAME>qlys-20231231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:f4ea1f53-8015-46e0-94c5-3054ac171407,g:ad08069b-edd9-4caa-93e6-69d8513fda7d-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.qualys.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="qlys-20231231.xsd#ConsolidatedBalanceSheets"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_cd8bd55d-b968-497e-9ba0-cfda42f12947" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_680dac8e-3e3f-4588-a067-32060e663808" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_cd8bd55d-b968-497e-9ba0-cfda42f12947" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_680dac8e-3e3f-4588-a067-32060e663808" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_1b387bc9-2f43-49a9-a129-ec0322032a66" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_cd8bd55d-b968-497e-9ba0-cfda42f12947" xlink:to="loc_us-gaap_LiabilitiesCurrent_1b387bc9-2f43-49a9-a129-ec0322032a66" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_664d5c10-ba89-4dc6-9945-e77b45cd3c0d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_cd8bd55d-b968-497e-9ba0-cfda42f12947" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_664d5c10-ba89-4dc6-9945-e77b45cd3c0d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_5d5ccb2f-df09-4537-97df-70afa4d171df" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_cd8bd55d-b968-497e-9ba0-cfda42f12947" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_5d5ccb2f-df09-4537-97df-70afa4d171df" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_46ce6398-fcc3-43d7-b356-83731b4393ee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_7cd80681-38fa-4767-a108-d6d442b63484" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_46ce6398-fcc3-43d7-b356-83731b4393ee" xlink:to="loc_us-gaap_AssetsCurrent_7cd80681-38fa-4767-a108-d6d442b63484" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_6c3a60fe-a758-46f2-98a1-ba9301f18ea2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_46ce6398-fcc3-43d7-b356-83731b4393ee" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_6c3a60fe-a758-46f2-98a1-ba9301f18ea2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_af73413b-caaa-4b61-a576-963ef2216c96" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_46ce6398-fcc3-43d7-b356-83731b4393ee" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_af73413b-caaa-4b61-a576-963ef2216c96" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_58d9622e-770e-4533-9a62-162235480a5d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_46ce6398-fcc3-43d7-b356-83731b4393ee" xlink:to="loc_us-gaap_Goodwill_58d9622e-770e-4533-9a62-162235480a5d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_dabb7f28-07f0-48d5-b4de-f35af3acce01" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_46ce6398-fcc3-43d7-b356-83731b4393ee" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_dabb7f28-07f0-48d5-b4de-f35af3acce01" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_9af41f21-7a6f-4e80-b409-a14ab7f78afd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_46ce6398-fcc3-43d7-b356-83731b4393ee" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_9af41f21-7a6f-4e80-b409-a14ab7f78afd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_6ae4d202-b000-4f6d-a114-930e3f3dc4a7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_46ce6398-fcc3-43d7-b356-83731b4393ee" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_6ae4d202-b000-4f6d-a114-930e3f3dc4a7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_a304b780-4120-4d1b-943d-acb3c73c3035" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_46ce6398-fcc3-43d7-b356-83731b4393ee" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_a304b780-4120-4d1b-943d-acb3c73c3035" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_e9b7d58b-d8a4-4749-809b-3fd273c9e1a9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_46ce6398-fcc3-43d7-b356-83731b4393ee" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_e9b7d58b-d8a4-4749-809b-3fd273c9e1a9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_a2e5cd93-c65e-4f7d-b0a3-db1e195a98e4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_642bf9ea-046f-44af-9a22-7cb836f37534" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_a2e5cd93-c65e-4f7d-b0a3-db1e195a98e4" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_642bf9ea-046f-44af-9a22-7cb836f37534" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_ac8d4111-c585-41ac-b906-903e41ed349b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_a2e5cd93-c65e-4f7d-b0a3-db1e195a98e4" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_ac8d4111-c585-41ac-b906-903e41ed349b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashCurrent_d0302aa7-ebc1-4f00-947a-51f6e5119bbc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_a2e5cd93-c65e-4f7d-b0a3-db1e195a98e4" xlink:to="loc_us-gaap_RestrictedCashCurrent_d0302aa7-ebc1-4f00-947a-51f6e5119bbc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_213418df-946e-433b-a68b-14ad73d8f738" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_a2e5cd93-c65e-4f7d-b0a3-db1e195a98e4" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_213418df-946e-433b-a68b-14ad73d8f738" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_6140d934-ab67-4076-879b-369d7d0e258c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_a2e5cd93-c65e-4f7d-b0a3-db1e195a98e4" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_6140d934-ab67-4076-879b-369d7d0e258c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_21f93f14-3423-46df-97f0-1ac169d82202" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_eb61e6a6-7745-4646-b859-e01329e4a401" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_21f93f14-3423-46df-97f0-1ac169d82202" xlink:to="loc_us-gaap_AdditionalPaidInCapital_eb61e6a6-7745-4646-b859-e01329e4a401" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_5c257b58-d48a-4436-8e52-0a95b0b38795" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_21f93f14-3423-46df-97f0-1ac169d82202" xlink:to="loc_us-gaap_PreferredStockValue_5c257b58-d48a-4436-8e52-0a95b0b38795" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_f7935b7c-c401-4175-a9f3-703600d58bd9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_21f93f14-3423-46df-97f0-1ac169d82202" xlink:to="loc_us-gaap_CommonStockValue_f7935b7c-c401-4175-a9f3-703600d58bd9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_321209b7-8ed6-4749-b0db-09a7897c6eb9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_21f93f14-3423-46df-97f0-1ac169d82202" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_321209b7-8ed6-4749-b0db-09a7897c6eb9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_eeafa1c5-b00e-467c-adac-721426d4bcd6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_21f93f14-3423-46df-97f0-1ac169d82202" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_eeafa1c5-b00e-467c-adac-721426d4bcd6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_ce6281f2-30f6-4737-8549-c45547fa2582" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies_4a3c60c8-b2b3-4ff8-9fd3-c4c44bcf2686" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_ce6281f2-30f6-4737-8549-c45547fa2582" xlink:to="loc_us-gaap_CommitmentsAndContingencies_4a3c60c8-b2b3-4ff8-9fd3-c4c44bcf2686" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_f18f02a1-a230-4181-a918-33d28314fa5e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_ce6281f2-30f6-4737-8549-c45547fa2582" xlink:to="loc_us-gaap_Liabilities_f18f02a1-a230-4181-a918-33d28314fa5e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_7a4694de-562c-4b94-be3c-aa71625ece2e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_ce6281f2-30f6-4737-8549-c45547fa2582" xlink:to="loc_us-gaap_StockholdersEquity_7a4694de-562c-4b94-be3c-aa71625ece2e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_d91c09e9-1c8e-47fa-9b7a-e5503e42dbfa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_671bbee9-eca1-40bf-863c-626766c48ea6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_d91c09e9-1c8e-47fa-9b7a-e5503e42dbfa" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_671bbee9-eca1-40bf-863c-626766c48ea6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_2b02685d-e7da-4503-9616-71782c94e729" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_d91c09e9-1c8e-47fa-9b7a-e5503e42dbfa" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_2b02685d-e7da-4503-9616-71782c94e729" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_0892e7e6-32ba-4492-8629-81da342d05fa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_d91c09e9-1c8e-47fa-9b7a-e5503e42dbfa" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_0892e7e6-32ba-4492-8629-81da342d05fa" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_ae8ea1c1-2a3b-4186-99a8-39e98269500a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_d91c09e9-1c8e-47fa-9b7a-e5503e42dbfa" xlink:to="loc_us-gaap_AccountsPayableCurrent_ae8ea1c1-2a3b-4186-99a8-39e98269500a" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/ConsolidatedStatementsofOperations" xlink:type="simple" xlink:href="qlys-20231231.xsd#ConsolidatedStatementsofOperations"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/ConsolidatedStatementsofOperations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_09c97d5d-41b3-48c6-9f86-3d6b1ca54439" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_4e71ad93-2fa3-4810-8d94-b988289b962d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_09c97d5d-41b3-48c6-9f86-3d6b1ca54439" xlink:to="loc_us-gaap_OperatingIncomeLoss_4e71ad93-2fa3-4810-8d94-b988289b962d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonoperatingIncomeExpense_02403e77-0188-4395-8132-21fc2554c1cc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_09c97d5d-41b3-48c6-9f86-3d6b1ca54439" xlink:to="loc_us-gaap_NonoperatingIncomeExpense_02403e77-0188-4395-8132-21fc2554c1cc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_6158b1d0-fdb4-4bf9-9fe5-a9f0f404677e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_9c25067a-b1fe-4262-aa4f-19db1c84d526" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_6158b1d0-fdb4-4bf9-9fe5-a9f0f404677e" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_9c25067a-b1fe-4262-aa4f-19db1c84d526" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_6f8473e9-f681-4ec0-9a82-3fcde56abbc8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_6158b1d0-fdb4-4bf9-9fe5-a9f0f404677e" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_6f8473e9-f681-4ec0-9a82-3fcde56abbc8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonoperatingIncomeExpense_6d41bd8b-1d68-4bc6-b623-17ef42b0a7b5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_c27c2c01-de8a-4eee-87f3-f57343d32eef" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NonoperatingIncomeExpense_6d41bd8b-1d68-4bc6-b623-17ef42b0a7b5" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_c27c2c01-de8a-4eee-87f3-f57343d32eef" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentIncomeInterest_8a3af492-00bd-43ea-ac17-58e455f95841" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NonoperatingIncomeExpense_6d41bd8b-1d68-4bc6-b623-17ef42b0a7b5" xlink:to="loc_us-gaap_InvestmentIncomeInterest_8a3af492-00bd-43ea-ac17-58e455f95841" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_937a762a-1bf1-47e6-bad3-690937774f43" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_3670895b-7400-4bb2-bc2b-73078efc367c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_937a762a-1bf1-47e6-bad3-690937774f43" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_3670895b-7400-4bb2-bc2b-73078efc367c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_0b0abe15-75df-4d28-98cd-1b1b996e351f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_937a762a-1bf1-47e6-bad3-690937774f43" xlink:to="loc_us-gaap_SellingAndMarketingExpense_0b0abe15-75df-4d28-98cd-1b1b996e351f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_2d23b3d9-84b2-46d8-99c4-a00b4c19bc4e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_937a762a-1bf1-47e6-bad3-690937774f43" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_2d23b3d9-84b2-46d8-99c4-a00b4c19bc4e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_b0eaea36-2ce0-40e0-8312-2c5952ab4618" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_bcca19aa-3d9f-4c82-8325-b263f610a31a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_b0eaea36-2ce0-40e0-8312-2c5952ab4618" xlink:to="loc_us-gaap_GrossProfit_bcca19aa-3d9f-4c82-8325-b263f610a31a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_17fe0d7b-9c6a-4c52-b433-8171a1580ae1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_b0eaea36-2ce0-40e0-8312-2c5952ab4618" xlink:to="loc_us-gaap_OperatingExpenses_17fe0d7b-9c6a-4c52-b433-8171a1580ae1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_04469f7b-c918-47b5-806f-9468f909d871" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_cb9ae838-c124-49c4-a154-2c2fe237d877" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_04469f7b-c918-47b5-806f-9468f909d871" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_cb9ae838-c124-49c4-a154-2c2fe237d877" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_46497aec-19b8-41ae-bfa0-ffa0d5bacf0a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_04469f7b-c918-47b5-806f-9468f909d871" xlink:to="loc_us-gaap_CostOfRevenue_46497aec-19b8-41ae-bfa0-ffa0d5bacf0a" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome" xlink:type="simple" xlink:href="qlys-20231231.xsd#ConsolidatedStatementsofComprehensiveIncome"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_b5f31769-970e-4efa-8794-b871dd204990" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent_c3022ff2-b817-45b3-a21b-c75d96a24bc9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_b5f31769-970e-4efa-8794-b871dd204990" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent_c3022ff2-b817-45b3-a21b-c75d96a24bc9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_a522772a-e696-4570-b861-1e9bf0de8200" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_b5f31769-970e-4efa-8794-b871dd204990" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_a522772a-e696-4570-b861-1e9bf0de8200" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_d10c3b3a-fd67-4e3a-a226-5651bc778106" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_02849e14-2b41-4db0-ba81-550cca1de30f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_d10c3b3a-fd67-4e3a-a226-5651bc778106" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_02849e14-2b41-4db0-ba81-550cca1de30f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_b19bb058-2b72-4e2f-853f-3026fc771ca5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_d10c3b3a-fd67-4e3a-a226-5651bc778106" xlink:to="loc_us-gaap_NetIncomeLoss_b19bb058-2b72-4e2f-853f-3026fc771ca5" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/ConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="qlys-20231231.xsd#ConsolidatedStatementsofCashFlows"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/ConsolidatedStatementsofCashFlows" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_e24e02a0-1def-4a26-83f5-abb7fc8d99d9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_5a4dc7e5-bcdd-4765-8686-55ee0c2f3f00" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_e24e02a0-1def-4a26-83f5-abb7fc8d99d9" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_5a4dc7e5-bcdd-4765-8686-55ee0c2f3f00" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_77d3bd52-682f-43a8-a4ac-a8696b455fc1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_e24e02a0-1def-4a26-83f5-abb7fc8d99d9" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_77d3bd52-682f-43a8-a4ac-a8696b455fc1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_6cc16fa7-ce02-4bb0-85bb-717a038c1160" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_e24e02a0-1def-4a26-83f5-abb7fc8d99d9" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_6cc16fa7-ce02-4bb0-85bb-717a038c1160" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_c4d97b5b-aee9-46ce-bb53-51369b5fbb38" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_3debd084-c46d-4b3a-9e01-fc708a0206ce" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_c4d97b5b-aee9-46ce-bb53-51369b5fbb38" xlink:to="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_3debd084-c46d-4b3a-9e01-fc708a0206ce" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2cd57e5c-40d4-49ca-a59c-c7eae33e6883" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_c4d97b5b-aee9-46ce-bb53-51369b5fbb38" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2cd57e5c-40d4-49ca-a59c-c7eae33e6883" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_b9ad2d3b-037a-40e3-9446-55a3ef25178c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_c4d97b5b-aee9-46ce-bb53-51369b5fbb38" xlink:to="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_b9ad2d3b-037a-40e3-9446-55a3ef25178c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireMarketableSecurities_2c3abef8-832e-41b1-ae77-8f13933268f2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireMarketableSecurities"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_c4d97b5b-aee9-46ce-bb53-51369b5fbb38" xlink:to="loc_us-gaap_PaymentsToAcquireMarketableSecurities_2c3abef8-832e-41b1-ae77-8f13933268f2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PaymentsToAcquireMaturitiesOfNotesReceivable_58957473-8091-4a7f-864e-08d81bca9f7e" xlink:href="qlys-20231231.xsd#qlys_PaymentsToAcquireMaturitiesOfNotesReceivable"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_c4d97b5b-aee9-46ce-bb53-51369b5fbb38" xlink:to="loc_qlys_PaymentsToAcquireMaturitiesOfNotesReceivable_58957473-8091-4a7f-864e-08d81bca9f7e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_425f3a3b-a2b1-4c77-b904-f247ac9105fd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesGross"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_c4d97b5b-aee9-46ce-bb53-51369b5fbb38" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesGross_425f3a3b-a2b1-4c77-b904-f247ac9105fd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_b0808cab-519d-4f75-9fdd-601e30082f6c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_06ef1161-9f51-45e1-9a10-efd2788393eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_b0808cab-519d-4f75-9fdd-601e30082f6c" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_06ef1161-9f51-45e1-9a10-efd2788393eb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_691693ce-d9ef-4413-9b84-2db359705b0e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_b0808cab-519d-4f75-9fdd-601e30082f6c" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_691693ce-d9ef-4413-9b84-2db359705b0e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeasePrincipalPayments_7a62e5b4-2564-4e46-bac2-89822b4a892f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_b0808cab-519d-4f75-9fdd-601e30082f6c" xlink:to="loc_us-gaap_FinanceLeasePrincipalPayments_7a62e5b4-2564-4e46-bac2-89822b4a892f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_5a2751e7-6873-49bf-85ff-d1a86532a1ee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_b0808cab-519d-4f75-9fdd-601e30082f6c" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_5a2751e7-6873-49bf-85ff-d1a86532a1ee" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_9898cd38-79c2-4b92-8fdb-5cb79e4cb92d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_b0808cab-519d-4f75-9fdd-601e30082f6c" xlink:to="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_9898cd38-79c2-4b92-8fdb-5cb79e4cb92d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_9b2c2c6f-ac57-4476-9917-422739570be7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_616325c1-22c9-416d-b5bc-837a3ef50c75" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_9b2c2c6f-ac57-4476-9917-422739570be7" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_616325c1-22c9-416d-b5bc-837a3ef50c75" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_0c4d7a96-5f5c-4a87-8aed-4258fc561670" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_9b2c2c6f-ac57-4476-9917-422739570be7" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_0c4d7a96-5f5c-4a87-8aed-4258fc561670" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss_04a020f1-27b5-49a7-a220-a60206996796" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_9b2c2c6f-ac57-4476-9917-422739570be7" xlink:to="loc_us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss_04a020f1-27b5-49a7-a220-a60206996796" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_2904fab3-52b7-4c23-9d81-3967207e2176" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_9b2c2c6f-ac57-4476-9917-422739570be7" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_2904fab3-52b7-4c23-9d81-3967207e2176" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_cc52022a-45dd-4e35-8336-c60683108cdf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_9b2c2c6f-ac57-4476-9917-422739570be7" xlink:to="loc_us-gaap_NetIncomeLoss_cc52022a-45dd-4e35-8336-c60683108cdf" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_f6ace7b4-26ba-4fee-86bc-3de33cdff402" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_9b2c2c6f-ac57-4476-9917-422739570be7" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_f6ace7b4-26ba-4fee-86bc-3de33cdff402" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_a154412e-375d-4c26-b631-128301200e1a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:calculationArc order="7" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_9b2c2c6f-ac57-4476-9917-422739570be7" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_a154412e-375d-4c26-b631-128301200e1a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_d87e19ae-3ec0-4868-abb2-5eacbf023703" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:calculationArc order="8" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_9b2c2c6f-ac57-4476-9917-422739570be7" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_d87e19ae-3ec0-4868-abb2-5eacbf023703" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_1a2ee685-408f-4e9b-876b-56b7e8f9481d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_9b2c2c6f-ac57-4476-9917-422739570be7" xlink:to="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_1a2ee685-408f-4e9b-876b-56b7e8f9481d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_b00a6779-d9dc-4840-b4f5-647c4a6c0619" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments"/>
    <link:calculationArc order="10" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_9b2c2c6f-ac57-4476-9917-422739570be7" xlink:to="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_b00a6779-d9dc-4840-b4f5-647c4a6c0619" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_21033043-744b-40a7-8832-667748785401" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation"/>
    <link:calculationArc order="11" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_9b2c2c6f-ac57-4476-9917-422739570be7" xlink:to="loc_us-gaap_ShareBasedCompensation_21033043-744b-40a7-8832-667748785401" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_4ead59f5-8950-453a-8d55-a56732c62892" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:calculationArc order="12" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_9b2c2c6f-ac57-4476-9917-422739570be7" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_4ead59f5-8950-453a-8d55-a56732c62892" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_7e5cacf4-2f8b-41cf-9e6b-fba8145a9db6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:calculationArc order="13" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_9b2c2c6f-ac57-4476-9917-422739570be7" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_7e5cacf4-2f8b-41cf-9e6b-fba8145a9db6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetImpairmentCharges_363baf78-c6dd-45a7-b22e-c51cd76c6430" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetImpairmentCharges"/>
    <link:calculationArc order="14" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_9b2c2c6f-ac57-4476-9917-422739570be7" xlink:to="loc_us-gaap_OtherAssetImpairmentCharges_363baf78-c6dd-45a7-b22e-c51cd76c6430" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsFairValueHierarchyDetails"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentsOwnedAtFairValue_74b7a34a-eeec-4ed8-88af-711287d34d3f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsOwnedAtFairValue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue_71f75c66-8e64-4086-a4b5-e5b12ee192f5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinancialInstrumentsOwnedAtFairValue_74b7a34a-eeec-4ed8-88af-711287d34d3f" xlink:to="loc_us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue_71f75c66-8e64-4086-a4b5-e5b12ee192f5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue_307bd886-2d4c-43f1-860f-2a9390ddf9a2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinancialInstrumentsOwnedAtFairValue_74b7a34a-eeec-4ed8-88af-711287d34d3f" xlink:to="loc_us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue_307bd886-2d4c-43f1-860f-2a9390ddf9a2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_65b911ad-dcf1-4950-9a5a-171da8b054a9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsAtCarryingValue"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinancialInstrumentsOwnedAtFairValue_74b7a34a-eeec-4ed8-88af-711287d34d3f" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_65b911ad-dcf1-4950-9a5a-171da8b054a9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue_0aa0d106-7a9e-4395-9386-b179b06ce22c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinancialInstrumentsOwnedAtFairValue_74b7a34a-eeec-4ed8-88af-711287d34d3f" xlink:to="loc_us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue_0aa0d106-7a9e-4395-9386-b179b06ce22c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesAtCarryingValue_1e455cdb-f41b-4769-b6ab-8653c685a393" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesAtCarryingValue"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinancialInstrumentsOwnedAtFairValue_74b7a34a-eeec-4ed8-88af-711287d34d3f" xlink:to="loc_us-gaap_AssetBackedSecuritiesAtCarryingValue_1e455cdb-f41b-4769-b6ab-8653c685a393" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue_4cd52184-ecd7-4f8c-94c2-2bc9ae579018" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinancialInstrumentsOwnedAtFairValue_74b7a34a-eeec-4ed8-88af-711287d34d3f" xlink:to="loc_us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue_4cd52184-ecd7-4f8c-94c2-2bc9ae579018" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperAtCarryingValue_b08eb222-87a5-4e70-970d-2b4d24a36838" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperAtCarryingValue"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinancialInstrumentsOwnedAtFairValue_74b7a34a-eeec-4ed8-88af-711287d34d3f" xlink:to="loc_us-gaap_CommercialPaperAtCarryingValue_b08eb222-87a5-4e70-970d-2b4d24a36838" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialLiabilitiesFairValueDisclosure_a24b87da-00cc-4783-8c03-ceb2b14f8cb3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialLiabilitiesFairValueDisclosure"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_3215fcd1-fdff-4f2c-8dec-b8a079329f0c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinancialLiabilitiesFairValueDisclosure_a24b87da-00cc-4783-8c03-ceb2b14f8cb3" xlink:to="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_3215fcd1-fdff-4f2c-8dec-b8a079329f0c" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsCashandCashEquivalentsDetails"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_cff1b531-1b9d-4824-a3ac-70e01bf136af" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_88a870a6-5924-4b0e-9d5f-b1f088caa766" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_cff1b531-1b9d-4824-a3ac-70e01bf136af" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_88a870a6-5924-4b0e-9d5f-b1f088caa766" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_d25d9e73-ff5e-47ef-8e08-b69ff8fea816" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_cff1b531-1b9d-4824-a3ac-70e01bf136af" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_d25d9e73-ff5e-47ef-8e08-b69ff8fea816" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_49cb8a5b-96be-489e-89d8-fa5d6ad60aab" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_cff1b531-1b9d-4824-a3ac-70e01bf136af" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_49cb8a5b-96be-489e-89d8-fa5d6ad60aab" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_2308dd71-17cc-487b-8637-eadfd44de226" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_f871c3c4-83f8-44c5-b74d-788ab4a51d93" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_2308dd71-17cc-487b-8637-eadfd44de226" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_f871c3c4-83f8-44c5-b74d-788ab4a51d93" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_c48a9430-37ae-4ba1-b23a-f77384f628b4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_2308dd71-17cc-487b-8637-eadfd44de226" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_c48a9430-37ae-4ba1-b23a-f77384f628b4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_65b4337d-9efb-4947-840b-ffd1ecfa4293" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_98e2fde2-b341-4136-b0cd-28ad06eabd6a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_65b4337d-9efb-4947-840b-ffd1ecfa4293" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_98e2fde2-b341-4136-b0cd-28ad06eabd6a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_09a67fc6-e9bd-4abf-beba-d6bb66ee35ab" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_65b4337d-9efb-4947-840b-ffd1ecfa4293" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_09a67fc6-e9bd-4abf-beba-d6bb66ee35ab" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_05191116-c0f8-4ea9-b36b-8c5d11c7420a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost_85915431-f5a6-42bc-9df3-7813c8722a95" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_05191116-c0f8-4ea9-b36b-8c5d11c7420a" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost_85915431-f5a6-42bc-9df3-7813c8722a95" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_7d3b90a4-9ac4-4849-b088-709d7301f9cf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_05191116-c0f8-4ea9-b36b-8c5d11c7420a" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_7d3b90a4-9ac4-4849-b088-709d7301f9cf" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_69feaafa-cf27-4a2c-bd55-0101a7b189aa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_05191116-c0f8-4ea9-b36b-8c5d11c7420a" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_69feaafa-cf27-4a2c-bd55-0101a7b189aa" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost_f5d34c60-0300-46f3-a30f-8feda756b591" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_05191116-c0f8-4ea9-b36b-8c5d11c7420a" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost_f5d34c60-0300-46f3-a30f-8feda756b591" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d1022001-14cb-480f-83ca-50fe3cf08312" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue_aa1c7bdf-89aa-4d76-969d-0b6c3ee581da" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d1022001-14cb-480f-83ca-50fe3cf08312" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue_aa1c7bdf-89aa-4d76-969d-0b6c3ee581da" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_3338dcca-9ed8-4c2c-af75-37ef2c560dd5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d1022001-14cb-480f-83ca-50fe3cf08312" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_3338dcca-9ed8-4c2c-af75-37ef2c560dd5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_50261975-1646-43b0-99dd-04ca5d0ee237" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d1022001-14cb-480f-83ca-50fe3cf08312" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_50261975-1646-43b0-99dd-04ca5d0ee237" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue_2927e9a4-bfcb-44cc-8025-41c27bd7b875" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d1022001-14cb-480f-83ca-50fe3cf08312" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue_2927e9a4-bfcb-44cc-8025-41c27bd7b875" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_69e36ded-8a71-4886-a47c-e5ed35b686d7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_2c2aaafe-378b-4916-a3ba-9c60780b773a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_69e36ded-8a71-4886-a47c-e5ed35b686d7" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_2c2aaafe-378b-4916-a3ba-9c60780b773a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments_b0b588bd-775a-4145-9faa-1779713c8859" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_69e36ded-8a71-4886-a47c-e5ed35b686d7" xlink:to="loc_us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments_b0b588bd-775a-4145-9faa-1779713c8859" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_d84f1f90-4114-46f7-8967-ae53966c3719" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1_27f34f63-f93c-49ad-bb1c-3baf79db0e41" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_d84f1f90-4114-46f7-8967-ae53966c3719" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1_27f34f63-f93c-49ad-bb1c-3baf79db0e41" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent_fae99cd0-3a01-4366-bbcd-845301f25109" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_d84f1f90-4114-46f7-8967-ae53966c3719" xlink:to="loc_us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent_fae99cd0-3a01-4366-bbcd-845301f25109" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent_d9aedde3-3a4c-4b76-a098-e6f308d02702" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_d84f1f90-4114-46f7-8967-ae53966c3719" xlink:to="loc_us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent_d9aedde3-3a4c-4b76-a098-e6f308d02702" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_80d876fc-b3df-40f8-91eb-9345cc989fa7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_0bccac6e-b6c2-40d8-8783-0b34ffca3a9d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_80d876fc-b3df-40f8-91eb-9345cc989fa7" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_0bccac6e-b6c2-40d8-8783-0b34ffca3a9d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_aa4e2b0b-bbad-42e2-ac71-0fb7f0ae3ca3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_80d876fc-b3df-40f8-91eb-9345cc989fa7" xlink:to="loc_us-gaap_SellingAndMarketingExpense_aa4e2b0b-bbad-42e2-ac71-0fb7f0ae3ca3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_e7ad38e9-40e3-48a9-a6b0-a744a95187e9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_80d876fc-b3df-40f8-91eb-9345cc989fa7" xlink:to="loc_us-gaap_CostOfRevenue_e7ad38e9-40e3-48a9-a6b0-a744a95187e9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_d92dad28-6f7b-4be5-a5d1-272ee8341b48" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_80d876fc-b3df-40f8-91eb-9345cc989fa7" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_d92dad28-6f7b-4be5-a5d1-272ee8341b48" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_3f794bba-8569-47ab-bc83-aa4246f1401a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_80d876fc-b3df-40f8-91eb-9345cc989fa7" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_3f794bba-8569-47ab-bc83-aa4246f1401a" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_fdeb4163-e1d3-4325-939d-1a85e28e19b7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_89ed3709-8faa-4f7d-90ab-932044bced96" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_fdeb4163-e1d3-4325-939d-1a85e28e19b7" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_89ed3709-8faa-4f7d-90ab-932044bced96" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_5824854e-55a4-4820-9e4a-4fb89ec06537" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_fdeb4163-e1d3-4325-939d-1a85e28e19b7" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_5824854e-55a4-4820-9e4a-4fb89ec06537" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_ad48b3f5-b9b3-425c-8798-5b8e103ccbfc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_c78b5a73-0471-48ed-80f8-6e23e349b1d8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_ad48b3f5-b9b3-425c-8798-5b8e103ccbfc" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_c78b5a73-0471-48ed-80f8-6e23e349b1d8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_70ec6efc-09fa-4160-a798-e79caf3f5393" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_ad48b3f5-b9b3-425c-8798-5b8e103ccbfc" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_70ec6efc-09fa-4160-a798-e79caf3f5393" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_841bc0d5-df20-4730-9882-1285505598c4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_ebc234d1-07ca-42f2-8590-d96103e03b26" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_841bc0d5-df20-4730-9882-1285505598c4" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_ebc234d1-07ca-42f2-8590-d96103e03b26" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_e8325d71-2a16-4c5e-9df5-46b42be5da0e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_841bc0d5-df20-4730-9882-1285505598c4" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_e8325d71-2a16-4c5e-9df5-46b42be5da0e" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c79cc054-95f7-411d-9c9a-3eaa4a2dbed3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_bc4ffa01-72ee-4ee1-acf4-7773c0bdbe12" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c79cc054-95f7-411d-9c9a-3eaa4a2dbed3" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_bc4ffa01-72ee-4ee1-acf4-7773c0bdbe12" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_4b6f8e76-aaef-4a30-9437-18d88b1a6047" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c79cc054-95f7-411d-9c9a-3eaa4a2dbed3" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_4b6f8e76-aaef-4a30-9437-18d88b1a6047" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_b9ccb61a-8bd9-4621-ace2-ca2c7f637315" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c79cc054-95f7-411d-9c9a-3eaa4a2dbed3" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_b9ccb61a-8bd9-4621-ace2-ca2c7f637315" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_5d8eefbb-0e04-47dd-8d1f-ba55f422f651" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c79cc054-95f7-411d-9c9a-3eaa4a2dbed3" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_5d8eefbb-0e04-47dd-8d1f-ba55f422f651" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#LeasesMinimumAnnualLeasePaymentsDetails"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_9a04e79f-6cb0-4b24-9526-2334d37f8db6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_109b3211-3efa-44d0-abde-8c365acd1dd3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_9a04e79f-6cb0-4b24-9526-2334d37f8db6" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_109b3211-3efa-44d0-abde-8c365acd1dd3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_74806ba0-84dd-412a-8d2e-34121f754a66" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_9a04e79f-6cb0-4b24-9526-2334d37f8db6" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_74806ba0-84dd-412a-8d2e-34121f754a66" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_b58108a7-ecf8-4eb2-a3d9-fe90c742c5dd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_86d73d81-cdea-4575-b1ef-2de0f6d0d181" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_b58108a7-ecf8-4eb2-a3d9-fe90c742c5dd" xlink:to="loc_us-gaap_OperatingLeaseLiability_86d73d81-cdea-4575-b1ef-2de0f6d0d181" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_afab2aac-1108-45cd-bac4-efc8d1aacd0d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_b58108a7-ecf8-4eb2-a3d9-fe90c742c5dd" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_afab2aac-1108-45cd-bac4-efc8d1aacd0d" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1" xlink:type="simple" xlink:href="qlys-20231231.xsd#LeasesMinimumAnnualLeasePaymentsDetails_1"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5ad49dc2-a565-4cc2-8fbb-ffa4635dbd18" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_70bdde04-5424-4e72-a206-6099b85d7daf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5ad49dc2-a565-4cc2-8fbb-ffa4635dbd18" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_70bdde04-5424-4e72-a206-6099b85d7daf" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_7883be5e-82aa-425e-9c73-ea1b2a95e88a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5ad49dc2-a565-4cc2-8fbb-ffa4635dbd18" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_7883be5e-82aa-425e-9c73-ea1b2a95e88a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_f394c4c6-aa7b-429d-aed0-820a660c604c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5ad49dc2-a565-4cc2-8fbb-ffa4635dbd18" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_f394c4c6-aa7b-429d-aed0-820a660c604c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_fcf4bfe9-ab8a-40b7-8088-09b06640ebb1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5ad49dc2-a565-4cc2-8fbb-ffa4635dbd18" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_fcf4bfe9-ab8a-40b7-8088-09b06640ebb1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_c869942d-05a1-4a94-959c-521b19f3e450" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5ad49dc2-a565-4cc2-8fbb-ffa4635dbd18" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_c869942d-05a1-4a94-959c-521b19f3e450" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/CommitmentandContingenciesRemainingPurchaseCommitmentsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#CommitmentandContingenciesRemainingPurchaseCommitmentsDetails"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/CommitmentandContingenciesRemainingPurchaseCommitmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligation_c0554127-67c3-43af-a90e-d4240186f567" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligation"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInFourthYear_e4579192-97df-43a3-b7ab-0918236feeea" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInFourthYear"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PurchaseObligation_c0554127-67c3-43af-a90e-d4240186f567" xlink:to="loc_us-gaap_PurchaseObligationDueInFourthYear_e4579192-97df-43a3-b7ab-0918236feeea" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInThirdYear_49d81092-c8ef-4167-a10b-cf36ed210838" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInThirdYear"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PurchaseObligation_c0554127-67c3-43af-a90e-d4240186f567" xlink:to="loc_us-gaap_PurchaseObligationDueInThirdYear_49d81092-c8ef-4167-a10b-cf36ed210838" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInSecondYear_e676161d-c6b2-4c05-bc86-5d4682501290" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInSecondYear"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PurchaseObligation_c0554127-67c3-43af-a90e-d4240186f567" xlink:to="loc_us-gaap_PurchaseObligationDueInSecondYear_e676161d-c6b2-4c05-bc86-5d4682501290" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInNextTwelveMonths_55238c50-1629-4a6c-8278-45d45d5bef8c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInNextTwelveMonths"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PurchaseObligation_c0554127-67c3-43af-a90e-d4240186f567" xlink:to="loc_us-gaap_PurchaseObligationDueInNextTwelveMonths_55238c50-1629-4a6c-8278-45d45d5bef8c" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IncomeTaxesScheduleofIncomebeforeIncomeTaxDomesticandForeignDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#IncomeTaxesScheduleofIncomebeforeIncomeTaxDomesticandForeignDetails"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/IncomeTaxesScheduleofIncomebeforeIncomeTaxDomesticandForeignDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_1cb673fe-22b6-4ef5-92d9-ca66f4cdf151" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_8b61cb3b-bb78-4c86-8156-dd3f89429a97" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_1cb673fe-22b6-4ef5-92d9-ca66f4cdf151" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_8b61cb3b-bb78-4c86-8156-dd3f89429a97" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_e9a0176f-3c4b-4b4d-83b3-5c9b06d23ce6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_1cb673fe-22b6-4ef5-92d9-ca66f4cdf151" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_e9a0176f-3c4b-4b4d-83b3-5c9b06d23ce6" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_5d8554d0-041a-47bd-9cd6-d31b3e59d9d5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_8c50da00-beac-41db-a8d0-ea2ec3244cbe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_5d8554d0-041a-47bd-9cd6-d31b3e59d9d5" xlink:to="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_8c50da00-beac-41db-a8d0-ea2ec3244cbe" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_e6e80948-54e3-47bd-9dac-e26eab40bb9b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_5d8554d0-041a-47bd-9cd6-d31b3e59d9d5" xlink:to="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_e6e80948-54e3-47bd-9dac-e26eab40bb9b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_b943a729-b986-480f-a505-0db9067b848c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_5d8554d0-041a-47bd-9cd6-d31b3e59d9d5" xlink:to="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_b943a729-b986-480f-a505-0db9067b848c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_3772d671-14ab-46d0-a3f3-07ec67fc3502" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit_83400d63-96cd-4c2c-b487-ea61fdd43cf9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_3772d671-14ab-46d0-a3f3-07ec67fc3502" xlink:to="loc_us-gaap_CurrentFederalTaxExpenseBenefit_83400d63-96cd-4c2c-b487-ea61fdd43cf9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentForeignTaxExpenseBenefit_d0dbaa32-d4f5-4823-abec-7f62fc15b74c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_3772d671-14ab-46d0-a3f3-07ec67fc3502" xlink:to="loc_us-gaap_CurrentForeignTaxExpenseBenefit_d0dbaa32-d4f5-4823-abec-7f62fc15b74c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_a40c32b1-dcc4-498a-9312-6a8b25314f36" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_3772d671-14ab-46d0-a3f3-07ec67fc3502" xlink:to="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_a40c32b1-dcc4-498a-9312-6a8b25314f36" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_c29b8435-2ba7-4704-a549-fa6e0bb9c6c9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_c7f48809-ca28-4c1d-8cf8-37d17a92c259" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_c29b8435-2ba7-4704-a549-fa6e0bb9c6c9" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_c7f48809-ca28-4c1d-8cf8-37d17a92c259" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_8cb665f2-18a5-4560-a7de-f88a72f510b8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_c29b8435-2ba7-4704-a549-fa6e0bb9c6c9" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_8cb665f2-18a5-4560-a7de-f88a72f510b8" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_c25e369c-cfc4-45b7-b1e8-b7d4abd23279" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_17f5f533-071d-4d84-896b-dcfeeb789ea6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_c25e369c-cfc4-45b7-b1e8-b7d4abd23279" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_17f5f533-071d-4d84-896b-dcfeeb789ea6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_5efd3f3b-3ee9-479c-8843-27cbe73fa032" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_c25e369c-cfc4-45b7-b1e8-b7d4abd23279" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_5efd3f3b-3ee9-479c-8843-27cbe73fa032" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_937ca767-5fcf-4913-ae19-15f1188c41d8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_c25e369c-cfc4-45b7-b1e8-b7d4abd23279" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_937ca767-5fcf-4913-ae19-15f1188c41d8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_c35d92f7-cbe5-4a1c-8718-169fa7e45ad5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_c25e369c-cfc4-45b7-b1e8-b7d4abd23279" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_c35d92f7-cbe5-4a1c-8718-169fa7e45ad5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_88193fd2-15e0-48c7-9dd5-251883cc226f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_c25e369c-cfc4-45b7-b1e8-b7d4abd23279" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_88193fd2-15e0-48c7-9dd5-251883cc226f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_eee1119a-4dd2-485e-9622-6e677ffb5680" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_c25e369c-cfc4-45b7-b1e8-b7d4abd23279" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_eee1119a-4dd2-485e-9622-6e677ffb5680" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_b953bf8f-e600-451f-8394-80af8810a5a6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_c25e369c-cfc4-45b7-b1e8-b7d4abd23279" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_b953bf8f-e600-451f-8394-80af8810a5a6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_199bd499-43c1-4c64-81f3-c0a3d824baac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_c25e369c-cfc4-45b7-b1e8-b7d4abd23279" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_199bd499-43c1-4c64-81f3-c0a3d824baac" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_11d5eccf-fd30-40c3-b768-df1edb66a7e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent"/>
    <link:calculationArc order="9" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_c25e369c-cfc4-45b7-b1e8-b7d4abd23279" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_11d5eccf-fd30-40c3-b768-df1edb66a7e6" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsNet_c87bae86-68e1-4506-934e-670684b7c391" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_ae692a97-100c-49f3-9a27-d91bae21b7c5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsNet_c87bae86-68e1-4506-934e-670684b7c391" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_ae692a97-100c-49f3-9a27-d91bae21b7c5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_2a14a64a-2f71-4a0f-8b76-b71901fcf88b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsNet_c87bae86-68e1-4506-934e-670684b7c391" xlink:to="loc_us-gaap_DeferredTaxAssetsGross_2a14a64a-2f71-4a0f-8b76-b71901fcf88b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_b0018d6f-c62c-4431-a023-0f26a8abe223" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_DeferredTaxLiabilitiesDeferredCommission_1e518782-f3c3-4417-9870-e744c7882499" xlink:href="qlys-20231231.xsd#qlys_DeferredTaxLiabilitiesDeferredCommission"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_b0018d6f-c62c-4431-a023-0f26a8abe223" xlink:to="loc_qlys_DeferredTaxLiabilitiesDeferredCommission_1e518782-f3c3-4417-9870-e744c7882499" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_DeferredLiabilitiesRightofuseAssets_96bda38d-b077-43bb-9dd5-01a05c3af8c3" xlink:href="qlys-20231231.xsd#qlys_DeferredLiabilitiesRightofuseAssets"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_b0018d6f-c62c-4431-a023-0f26a8abe223" xlink:to="loc_qlys_DeferredLiabilitiesRightofuseAssets_96bda38d-b077-43bb-9dd5-01a05c3af8c3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_5afcea66-7184-426c-b8b1-4fbb0f520bfe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_b0018d6f-c62c-4431-a023-0f26a8abe223" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_5afcea66-7184-426c-b8b1-4fbb0f520bfe" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_282d4ff8-0336-48d6-b347-62863a96b2f2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_37013e3e-b6e0-438f-a378-2bbbf1932b11" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_282d4ff8-0336-48d6-b347-62863a96b2f2" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilities_37013e3e-b6e0-438f-a378-2bbbf1932b11" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsNet_3476f74f-c479-4fd8-baa8-58ec1d3ecafb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_282d4ff8-0336-48d6-b347-62863a96b2f2" xlink:to="loc_us-gaap_DeferredTaxAssetsNet_3476f74f-c479-4fd8-baa8-58ec1d3ecafb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_d9c95d85-baf3-4f8c-9d79-1b9e124311b0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_DeferredTaxAssetsOperatingLeaseLiabilities_90248866-445f-45bb-b03e-b0a7a19f6bc0" xlink:href="qlys-20231231.xsd#qlys_DeferredTaxAssetsOperatingLeaseLiabilities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_d9c95d85-baf3-4f8c-9d79-1b9e124311b0" xlink:to="loc_qlys_DeferredTaxAssetsOperatingLeaseLiabilities_90248866-445f-45bb-b03e-b0a7a19f6bc0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_d0daf508-6985-4248-9e5a-7d3f4d9dd2b1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_d9c95d85-baf3-4f8c-9d79-1b9e124311b0" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_d0daf508-6985-4248-9e5a-7d3f4d9dd2b1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_934b8a83-6899-444f-bf2e-5ac68230fa11" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_d9c95d85-baf3-4f8c-9d79-1b9e124311b0" xlink:to="loc_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_934b8a83-6899-444f-bf2e-5ac68230fa11" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsDeferredIncome_26b1db1c-04e8-4d15-87ea-5773a81a588e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsDeferredIncome"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_d9c95d85-baf3-4f8c-9d79-1b9e124311b0" xlink:to="loc_us-gaap_DeferredTaxAssetsDeferredIncome_26b1db1c-04e8-4d15-87ea-5773a81a588e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets_f73b9ac6-6fd4-4b16-8f87-2999c1eb0c95" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_d9c95d85-baf3-4f8c-9d79-1b9e124311b0" xlink:to="loc_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets_f73b9ac6-6fd4-4b16-8f87-2999c1eb0c95" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_4f17bd9e-0f3b-48ae-8234-1c1d91a6e858" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_d9c95d85-baf3-4f8c-9d79-1b9e124311b0" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_4f17bd9e-0f3b-48ae-8234-1c1d91a6e858" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_31652067-baf3-4f7f-b176-10210a380fb2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_d9c95d85-baf3-4f8c-9d79-1b9e124311b0" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_31652067-baf3-4f7f-b176-10210a380fb2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_2cfda4bb-4492-45f5-9fc7-c3144a95f7e7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_d9c95d85-baf3-4f8c-9d79-1b9e124311b0" xlink:to="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_2cfda4bb-4492-45f5-9fc7-c3144a95f7e7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOther_9d281014-00c3-4dfe-84c3-ab22162883f5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_d9c95d85-baf3-4f8c-9d79-1b9e124311b0" xlink:to="loc_us-gaap_DeferredTaxAssetsOther_9d281014-00c3-4dfe-84c3-ab22162883f5" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#NetIncomePerShareBasicandDilutedNetIncomePerShareDetails"/>
  <link:calculationLink xlink:role="http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_bad18882-14f4-40f6-955d-ee47a4ae9ab4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_b45311f2-f764-4173-8c12-fbeb86a08773" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_bad18882-14f4-40f6-955d-ee47a4ae9ab4" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_b45311f2-f764-4173-8c12-fbeb86a08773" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements_9fc6247d-3ca4-467e-892f-865d323a634e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_bad18882-14f4-40f6-955d-ee47a4ae9ab4" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements_9fc6247d-3ca4-467e-892f-865d323a634e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants_a574235d-2317-4c69-b19c-2e4bcb7beb33" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_bad18882-14f4-40f6-955d-ee47a4ae9ab4" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants_a574235d-2317-4c69-b19c-2e4bcb7beb33" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_a12b60cf-e816-48bf-b5a2-b36cd16fbc21" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_bad18882-14f4-40f6-955d-ee47a4ae9ab4" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_a12b60cf-e816-48bf-b5a2-b36cd16fbc21" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>12
<FILENAME>qlys-20231231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:f4ea1f53-8015-46e0-94c5-3054ac171407,g:ad08069b-edd9-4caa-93e6-69d8513fda7d-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member"/>
  <link:roleRef roleURI="http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity" xlink:type="simple" xlink:href="qlys-20231231.xsd#ConsolidatedStatementsofStockholdersEquity"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_ebe5e4d7-a349-48f2-b38b-d40b6cd55ac8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_c90c6ef2-e194-466e-ae30-905d9cb2d423" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_ebe5e4d7-a349-48f2-b38b-d40b6cd55ac8" xlink:to="loc_us-gaap_StatementTable_c90c6ef2-e194-466e-ae30-905d9cb2d423" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_ed461016-cef5-4443-8b1e-748a0b528ed2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_c90c6ef2-e194-466e-ae30-905d9cb2d423" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_ed461016-cef5-4443-8b1e-748a0b528ed2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_ed461016-cef5-4443-8b1e-748a0b528ed2_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_ed461016-cef5-4443-8b1e-748a0b528ed2" xlink:to="loc_us-gaap_EquityComponentDomain_ed461016-cef5-4443-8b1e-748a0b528ed2_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_32ad43b1-4c0a-4bf8-a7aa-4a9783bc510a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_ed461016-cef5-4443-8b1e-748a0b528ed2" xlink:to="loc_us-gaap_EquityComponentDomain_32ad43b1-4c0a-4bf8-a7aa-4a9783bc510a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_6f62ac97-3eb6-46b8-b160-af76b98c95d5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_32ad43b1-4c0a-4bf8-a7aa-4a9783bc510a" xlink:to="loc_us-gaap_CommonStockMember_6f62ac97-3eb6-46b8-b160-af76b98c95d5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_2261c709-954c-42e8-8339-1e0dcd287cf8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_32ad43b1-4c0a-4bf8-a7aa-4a9783bc510a" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_2261c709-954c-42e8-8339-1e0dcd287cf8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_b2a6334f-fdf5-4851-bc5b-95829e82f441" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_32ad43b1-4c0a-4bf8-a7aa-4a9783bc510a" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_b2a6334f-fdf5-4851-bc5b-95829e82f441" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_5153253e-c9fd-495e-bb67-c86085d34887" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_32ad43b1-4c0a-4bf8-a7aa-4a9783bc510a" xlink:to="loc_us-gaap_RetainedEarningsMember_5153253e-c9fd-495e-bb67-c86085d34887" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_ebe5e4d7-a349-48f2-b38b-d40b6cd55ac8" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_be251cbe-46f6-4d26-83dc-9e0116d421c8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_SharesOutstanding_be251cbe-46f6-4d26-83dc-9e0116d421c8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_7d1f1d6b-a79f-4731-8df9-c7ee883ed7d5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_StockholdersEquity_7d1f1d6b-a79f-4731-8df9-c7ee883ed7d5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_699de1cc-6a13-43a7-b239-f5fff9d2c80d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_NetIncomeLoss_699de1cc-6a13-43a7-b239-f5fff9d2c80d" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_6d7f7829-42cf-4f28-84c9-11cb694e5a56" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_6d7f7829-42cf-4f28-84c9-11cb694e5a56" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_21b5c68f-d08f-4511-9e72-b14a524e5a91" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_21b5c68f-d08f-4511-9e72-b14a524e5a91" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_13757b21-df24-42d8-bc8c-e9908959f8ee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_13757b21-df24-42d8-bc8c-e9908959f8ee" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_9a7dd28c-ec0c-4e16-9992-65be198c193a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_9a7dd28c-ec0c-4e16-9992-65be198c193a" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_bb166b45-468a-4e95-8fc9-c010fe15abff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_bb166b45-468a-4e95-8fc9-c010fe15abff" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested_0fd16c3e-2860-40f9-b3e3-ac39f25b34af" xlink:href="qlys-20231231.xsd#qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested_0fd16c3e-2860-40f9-b3e3-ac39f25b34af" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_dab199f3-e7da-4f3a-b848-7029d31ee435" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_dab199f3-e7da-4f3a-b848-7029d31ee435" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_eae337f4-7d70-4edd-818f-f3e6d449cef3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_eae337f4-7d70-4edd-818f-f3e6d449cef3" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_38f2d018-180e-4b1b-b4d3-96517a1940da" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_38f2d018-180e-4b1b-b4d3-96517a1940da" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_f4efd4bd-905d-4bc8-9f51-8116d0e8bdba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_f4efd4bd-905d-4bc8-9f51-8116d0e8bdba" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_cbfa7100-d4ff-4126-8308-432d38482b3d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_cbfa7100-d4ff-4126-8308-432d38482b3d" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_63460251-dcba-411e-ae95-fad012fb1727" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_4dc033c5-6c97-47d8-8c5d-cfca56f2df81" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable_b2f34747-f3ed-47d6-b938-cdcbd8f9b0a9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable_b2f34747-f3ed-47d6-b938-cdcbd8f9b0a9" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis_42e2cfc9-9a21-4869-99c8-71c89f85f950" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable_b2f34747-f3ed-47d6-b938-cdcbd8f9b0a9" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis_42e2cfc9-9a21-4869-99c8-71c89f85f950" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_42e2cfc9-9a21-4869-99c8-71c89f85f950_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis_42e2cfc9-9a21-4869-99c8-71c89f85f950" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_42e2cfc9-9a21-4869-99c8-71c89f85f950_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_e890b0f2-610a-465e-8996-6a0ec9b053ab" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis_42e2cfc9-9a21-4869-99c8-71c89f85f950" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_e890b0f2-610a-465e-8996-6a0ec9b053ab" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember_d81e63c1-1933-440b-870c-4e80ba22ee31" xlink:href="qlys-20231231.xsd#qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_e890b0f2-610a-465e-8996-6a0ec9b053ab" xlink:to="loc_qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember_d81e63c1-1933-440b-870c-4e80ba22ee31" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SecurityDepositsMember_adeaff66-b2d3-48cb-a547-e45c5aca67d4" xlink:href="qlys-20231231.xsd#qlys_SecurityDepositsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_e890b0f2-610a-465e-8996-6a0ec9b053ab" xlink:to="loc_qlys_SecurityDepositsMember_adeaff66-b2d3-48cb-a547-e45c5aca67d4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PledgingPurposeAxis_24ac6396-d4af-4a8d-b200-be96fab98d6a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PledgingPurposeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable_b2f34747-f3ed-47d6-b938-cdcbd8f9b0a9" xlink:to="loc_us-gaap_PledgingPurposeAxis_24ac6396-d4af-4a8d-b200-be96fab98d6a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PledgingPurposeDomain_24ac6396-d4af-4a8d-b200-be96fab98d6a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PledgingPurposeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PledgingPurposeAxis_24ac6396-d4af-4a8d-b200-be96fab98d6a" xlink:to="loc_us-gaap_PledgingPurposeDomain_24ac6396-d4af-4a8d-b200-be96fab98d6a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PledgingPurposeDomain_90f7ed27-2b07-44c0-a7f0-252e791b6baf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PledgingPurposeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PledgingPurposeAxis_24ac6396-d4af-4a8d-b200-be96fab98d6a" xlink:to="loc_us-gaap_PledgingPurposeDomain_90f7ed27-2b07-44c0-a7f0-252e791b6baf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LetterOfCreditMember_2e770a04-9e1b-4525-a41b-df146781ab3e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LetterOfCreditMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PledgingPurposeDomain_90f7ed27-2b07-44c0-a7f0-252e791b6baf" xlink:to="loc_us-gaap_LetterOfCreditMember_2e770a04-9e1b-4525-a41b-df146781ab3e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_6c15e41b-e729-4897-ae3b-06dd3e8e451c" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable_b2f34747-f3ed-47d6-b938-cdcbd8f9b0a9" xlink:to="loc_srt_RangeAxis_6c15e41b-e729-4897-ae3b-06dd3e8e451c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_6c15e41b-e729-4897-ae3b-06dd3e8e451c_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_6c15e41b-e729-4897-ae3b-06dd3e8e451c" xlink:to="loc_srt_RangeMember_6c15e41b-e729-4897-ae3b-06dd3e8e451c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_9753fe65-da42-4d9b-9d1e-42127eb45f97" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_6c15e41b-e729-4897-ae3b-06dd3e8e451c" xlink:to="loc_srt_RangeMember_9753fe65-da42-4d9b-9d1e-42127eb45f97" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_15a65821-352b-4e26-9fb3-a8adbfa688cf" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_9753fe65-da42-4d9b-9d1e-42127eb45f97" xlink:to="loc_srt_MinimumMember_15a65821-352b-4e26-9fb3-a8adbfa688cf" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_29091bc5-647e-440b-8908-36fe84655b2d" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_9753fe65-da42-4d9b-9d1e-42127eb45f97" xlink:to="loc_srt_MaximumMember_29091bc5-647e-440b-8908-36fe84655b2d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_c03538e7-baa3-4c84-a316-82c7eff629f5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable_b2f34747-f3ed-47d6-b938-cdcbd8f9b0a9" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_c03538e7-baa3-4c84-a316-82c7eff629f5" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_c03538e7-baa3-4c84-a316-82c7eff629f5_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_c03538e7-baa3-4c84-a316-82c7eff629f5" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_c03538e7-baa3-4c84-a316-82c7eff629f5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d7160d56-409f-4d49-8900-8e3712af4dd8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_c03538e7-baa3-4c84-a316-82c7eff629f5" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d7160d56-409f-4d49-8900-8e3712af4dd8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ScannerAppliancesMember_b123cd44-8a94-4237-864b-4efb92e56d31" xlink:href="qlys-20231231.xsd#qlys_ScannerAppliancesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d7160d56-409f-4d49-8900-8e3712af4dd8" xlink:to="loc_qlys_ScannerAppliancesMember_b123cd44-8a94-4237-864b-4efb92e56d31" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4eafe5d7-08c9-43ae-a439-bbbbb702f692" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable_b2f34747-f3ed-47d6-b938-cdcbd8f9b0a9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4eafe5d7-08c9-43ae-a439-bbbbb702f692" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_4eafe5d7-08c9-43ae-a439-bbbbb702f692_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4eafe5d7-08c9-43ae-a439-bbbbb702f692" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_4eafe5d7-08c9-43ae-a439-bbbbb702f692_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_20b8a288-d94f-4a30-b7bd-15e27dcc493c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4eafe5d7-08c9-43ae-a439-bbbbb702f692" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_20b8a288-d94f-4a30-b7bd-15e27dcc493c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_312790a8-c6f8-4b69-b02b-72d3ca7650f9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_20b8a288-d94f-4a30-b7bd-15e27dcc493c" xlink:to="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_312790a8-c6f8-4b69-b02b-72d3ca7650f9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCash_d844a525-5fd7-489a-97c4-b990575014be" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCash"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_RestrictedCash_d844a525-5fd7-489a-97c4-b990575014be" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNet_4ddb9148-beaa-4af8-ad7d-a802399b56f7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_AccountsReceivableNet_4ddb9148-beaa-4af8-ad7d-a802399b56f7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Investments_db4ddfc4-5b9b-4409-95fd-e1bee07edca4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Investments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_Investments_db4ddfc4-5b9b-4409-95fd-e1bee07edca4" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDividendsReceived_8e759bb3-d039-42eb-87c3-224c87310a45" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromDividendsReceived"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_ProceedsFromDividendsReceived_8e759bb3-d039-42eb-87c3-224c87310a45" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForAdvanceToAffiliate_8e4a0175-c985-429f-b4ac-5bb7873bb899" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForAdvanceToAffiliate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_PaymentsForAdvanceToAffiliate_8e4a0175-c985-429f-b4ac-5bb7873bb899" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_96d1092c-76aa-4bae-9e96-499cb3f282e1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_96d1092c-76aa-4bae-9e96-499cb3f282e1" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse_368941d7-65cf-4f65-b97e-e017bc441112" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfLongLivedAssetsHeldForUse"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse_368941d7-65cf-4f65-b97e-e017bc441112" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportingUnits_0b72c74e-229c-4ada-ad63-af52072188cc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportingUnits"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_NumberOfReportingUnits_0b72c74e-229c-4ada-ad63-af52072188cc" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_09e40804-9189-477f-8d5a-f0eda1f52d72" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_09e40804-9189-477f-8d5a-f0eda1f52d72" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeTermOfContract_5f48f30c-0fa7-41e4-a345-25a4affc39b0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeTermOfContract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_DerivativeTermOfContract_5f48f30c-0fa7-41e4-a345-25a4affc39b0" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortizationPeriod_e6d1a485-6249-41b7-800b-cecf904dc2c6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_CapitalizedContractCostAmortizationPeriod_e6d1a485-6249-41b7-800b-cecf904dc2c6" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingExpense_0a704ab7-5811-4796-bdea-4e0aad9ca8f6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_AdvertisingExpense_0a704ab7-5811-4796-bdea-4e0aad9ca8f6" xlink:type="arc" order="11"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsFairValueHierarchyDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOptionQuantitativeDisclosuresLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_db0f4c1d-a3c8-45c6-8d3a-713b4a4ef121" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOptionQuantitativeDisclosuresTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_db0f4c1d-a3c8-45c6-8d3a-713b4a4ef121" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_5037fe67-55b1-4111-b221-62f96454475d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_db0f4c1d-a3c8-45c6-8d3a-713b4a4ef121" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_5037fe67-55b1-4111-b221-62f96454475d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5037fe67-55b1-4111-b221-62f96454475d_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_5037fe67-55b1-4111-b221-62f96454475d" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5037fe67-55b1-4111-b221-62f96454475d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9d278bc8-2e1d-4a84-8cb8-7dab8e3131d0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_5037fe67-55b1-4111-b221-62f96454475d" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9d278bc8-2e1d-4a84-8cb8-7dab8e3131d0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_2808171f-f38f-4d66-b245-b83fb5c73ec9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9d278bc8-2e1d-4a84-8cb8-7dab8e3131d0" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_2808171f-f38f-4d66-b245-b83fb5c73ec9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_fbb75b89-0b28-477d-a0b6-778a5a7caa8d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9d278bc8-2e1d-4a84-8cb8-7dab8e3131d0" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_fbb75b89-0b28-477d-a0b6-778a5a7caa8d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6fd6ed1f-2f1f-4aa9-8225-1079bd7281d6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_db0f4c1d-a3c8-45c6-8d3a-713b4a4ef121" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6fd6ed1f-2f1f-4aa9-8225-1079bd7281d6" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_6fd6ed1f-2f1f-4aa9-8225-1079bd7281d6_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6fd6ed1f-2f1f-4aa9-8225-1079bd7281d6" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_6fd6ed1f-2f1f-4aa9-8225-1079bd7281d6_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_f8d3dff7-41b0-443e-8976-a8f4b37660c7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6fd6ed1f-2f1f-4aa9-8225-1079bd7281d6" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_f8d3dff7-41b0-443e-8976-a8f4b37660c7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_7e17cfdc-aaaa-4e5f-b071-0a33a83b2a81" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_f8d3dff7-41b0-443e-8976-a8f4b37660c7" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_7e17cfdc-aaaa-4e5f-b071-0a33a83b2a81" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_c4c64d17-73aa-47fc-bd4b-1bd2fdf32611" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsAtCarryingValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_c4c64d17-73aa-47fc-bd4b-1bd2fdf32611" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperAtCarryingValue_3d32bdd8-2906-434c-ae2c-ea1a5f4a2891" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperAtCarryingValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_CommercialPaperAtCarryingValue_3d32bdd8-2906-434c-ae2c-ea1a5f4a2891" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue_6312c064-3c37-4fbe-92d9-4e6c889a61fa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue_6312c064-3c37-4fbe-92d9-4e6c889a61fa" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue_3d2d502c-ba8b-4518-ae04-c68e1b04c56f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue_3d2d502c-ba8b-4518-ae04-c68e1b04c56f" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue_cecc6514-7644-43e2-bd31-d5c9c3557b7d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue_cecc6514-7644-43e2-bd31-d5c9c3557b7d" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesAtCarryingValue_e82719d0-4f2d-4e5c-9ae1-4f3e43835193" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesAtCarryingValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_AssetBackedSecuritiesAtCarryingValue_e82719d0-4f2d-4e5c-9ae1-4f3e43835193" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue_41740a92-eb8d-4a01-b9af-31a11d68b6cc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue_41740a92-eb8d-4a01-b9af-31a11d68b6cc" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentsOwnedAtFairValue_03af5cce-c1bc-4323-9586-1a03e314eccb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsOwnedAtFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_FinancialInstrumentsOwnedAtFairValue_03af5cce-c1bc-4323-9586-1a03e314eccb" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_fb6c915c-98a6-43eb-8394-2dc4bfbccefe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_fb6c915c-98a6-43eb-8394-2dc4bfbccefe" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialLiabilitiesFairValueDisclosure_99f256cc-f508-4a20-adcc-77ec551c5e1d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialLiabilitiesFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_FinancialLiabilitiesFairValueDisclosure_99f256cc-f508-4a20-adcc-77ec551c5e1d" xlink:type="arc" order="9"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsCashandCashEquivalentsDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_2a958861-37a3-40e8-ab98-18503cb8df18" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativesFairValueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_ba94bb9d-fb94-4b68-9290-f78f7c377b8d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOptionQuantitativeDisclosuresTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_2a958861-37a3-40e8-ab98-18503cb8df18" xlink:to="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_ba94bb9d-fb94-4b68-9290-f78f7c377b8d" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_c094bb9f-89f5-4018-8b38-6885ec6bd315" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_ba94bb9d-fb94-4b68-9290-f78f7c377b8d" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_c094bb9f-89f5-4018-8b38-6885ec6bd315" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_c094bb9f-89f5-4018-8b38-6885ec6bd315_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_c094bb9f-89f5-4018-8b38-6885ec6bd315" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_c094bb9f-89f5-4018-8b38-6885ec6bd315_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_708d75f5-3243-40b0-a3bc-f50eca6a212c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_c094bb9f-89f5-4018-8b38-6885ec6bd315" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_708d75f5-3243-40b0-a3bc-f50eca6a212c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember_50cae922-befe-4d83-b119-70022e67d6a5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_708d75f5-3243-40b0-a3bc-f50eca6a212c" xlink:to="loc_us-gaap_MoneyMarketFundsMember_50cae922-befe-4d83-b119-70022e67d6a5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember_85fb775f-9d67-48b2-b053-feeddc3132b1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_708d75f5-3243-40b0-a3bc-f50eca6a212c" xlink:to="loc_us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember_85fb775f-9d67-48b2-b053-feeddc3132b1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_da94b540-ae14-411f-9e8f-7ef745acd1bb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_ba94bb9d-fb94-4b68-9290-f78f7c377b8d" xlink:to="loc_us-gaap_FinancialInstrumentAxis_da94b540-ae14-411f-9e8f-7ef745acd1bb" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_da94b540-ae14-411f-9e8f-7ef745acd1bb_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_da94b540-ae14-411f-9e8f-7ef745acd1bb" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_da94b540-ae14-411f-9e8f-7ef745acd1bb_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_68de5ff3-1df6-4340-ad6c-60fd36b5d676" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_da94b540-ae14-411f-9e8f-7ef745acd1bb" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_68de5ff3-1df6-4340-ad6c-60fd36b5d676" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember_2303d26a-70ba-486c-a43c-a9efbe2ac9dc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_68de5ff3-1df6-4340-ad6c-60fd36b5d676" xlink:to="loc_us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember_2303d26a-70ba-486c-a43c-a9efbe2ac9dc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateDebtSecuritiesMember_71f92ca3-18fb-4cfe-a602-7e345aeb5b93" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_68de5ff3-1df6-4340-ad6c-60fd36b5d676" xlink:to="loc_us-gaap_CorporateDebtSecuritiesMember_71f92ca3-18fb-4cfe-a602-7e345aeb5b93" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_ae915ded-e275-4c3b-89ec-92df06bf5b93" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_68de5ff3-1df6-4340-ad6c-60fd36b5d676" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_ae915ded-e275-4c3b-89ec-92df06bf5b93" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_3777b7e4-e71d-485b-b21c-605637cc748f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USGovernmentAgenciesDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_68de5ff3-1df6-4340-ad6c-60fd36b5d676" xlink:to="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_3777b7e4-e71d-485b-b21c-605637cc748f" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ForeignGovernmentAgenciesMember_e8c10d7a-0265-42d8-8315-07663292fe70" xlink:href="qlys-20231231.xsd#qlys_ForeignGovernmentAgenciesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_68de5ff3-1df6-4340-ad6c-60fd36b5d676" xlink:to="loc_qlys_ForeignGovernmentAgenciesMember_e8c10d7a-0265-42d8-8315-07663292fe70" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByAssetClassAxis_ee1c884f-480f-4398-a2a9-22f92666e150" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByAssetClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_ba94bb9d-fb94-4b68-9290-f78f7c377b8d" xlink:to="loc_us-gaap_FairValueByAssetClassAxis_ee1c884f-480f-4398-a2a9-22f92666e150" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ee1c884f-480f-4398-a2a9-22f92666e150_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByAssetClassAxis_ee1c884f-480f-4398-a2a9-22f92666e150" xlink:to="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ee1c884f-480f-4398-a2a9-22f92666e150_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_5880f940-1d8c-409e-b6c9-ea465a422cc1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByAssetClassAxis_ee1c884f-480f-4398-a2a9-22f92666e150" xlink:to="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_5880f940-1d8c-409e-b6c9-ea465a422cc1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashEquivalentsMember_adff6eef-31f1-45b3-9f79-1f12b0bfc084" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_5880f940-1d8c-409e-b6c9-ea465a422cc1" xlink:to="loc_us-gaap_CashEquivalentsMember_adff6eef-31f1-45b3-9f79-1f12b0bfc084" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermInvestmentsMember_88510161-64fe-46d6-b425-19781aa09be0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_5880f940-1d8c-409e-b6c9-ea465a422cc1" xlink:to="loc_us-gaap_ShortTermInvestmentsMember_88510161-64fe-46d6-b425-19781aa09be0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLongTermInvestmentsMember_68393ec6-44b3-4a6b-8470-613c7bf3d437" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLongTermInvestmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_5880f940-1d8c-409e-b6c9-ea465a422cc1" xlink:to="loc_us-gaap_OtherLongTermInvestmentsMember_68393ec6-44b3-4a6b-8470-613c7bf3d437" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_3f0b9f16-2a12-428f-96e4-1bb008ea7cc0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_2a958861-37a3-40e8-ab98-18503cb8df18" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_3f0b9f16-2a12-428f-96e4-1bb008ea7cc0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_6f0b4804-8877-4030-a012-e66663b24cfb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_2a958861-37a3-40e8-ab98-18503cb8df18" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_6f0b4804-8877-4030-a012-e66663b24cfb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_8ec4c1e2-a6a3-4fa4-96c2-e8cd41eb27a4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_2a958861-37a3-40e8-ab98-18503cb8df18" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_8ec4c1e2-a6a3-4fa4-96c2-e8cd41eb27a4" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_81add350-5a93-4c06-bba6-b344d03c9ca1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_2a958861-37a3-40e8-ab98-18503cb8df18" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_81add350-5a93-4c06-bba6-b344d03c9ca1" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Cash_146e15f9-0735-42a0-b17e-431008b94931" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_2a958861-37a3-40e8-ab98-18503cb8df18" xlink:to="loc_us-gaap_Cash_146e15f9-0735-42a0-b17e-431008b94931" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems_472329a7-e798-4ac2-af17-3fe00d5ff9d3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable_b11bf892-d1fa-4ad9-b0cb-160b3a20998c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems_472329a7-e798-4ac2-af17-3fe00d5ff9d3" xlink:to="loc_us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable_b11bf892-d1fa-4ad9-b0cb-160b3a20998c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_ee7cd8b2-e1c8-4cae-856b-3c0ab59fca2e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable_b11bf892-d1fa-4ad9-b0cb-160b3a20998c" xlink:to="loc_us-gaap_FinancialInstrumentAxis_ee7cd8b2-e1c8-4cae-856b-3c0ab59fca2e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_ee7cd8b2-e1c8-4cae-856b-3c0ab59fca2e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_ee7cd8b2-e1c8-4cae-856b-3c0ab59fca2e" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_ee7cd8b2-e1c8-4cae-856b-3c0ab59fca2e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b9a49c51-ffd1-4bb8-bbb9-a035b55079c2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_ee7cd8b2-e1c8-4cae-856b-3c0ab59fca2e" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b9a49c51-ffd1-4bb8-bbb9-a035b55079c2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember_383560a8-9bb6-4b25-9cfc-a67afecf11ae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b9a49c51-ffd1-4bb8-bbb9-a035b55079c2" xlink:to="loc_us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember_383560a8-9bb6-4b25-9cfc-a67afecf11ae" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ForeignGovernmentAgenciesMember_fb8b390a-aa97-4d7f-8a14-88640b3ee35a" xlink:href="qlys-20231231.xsd#qlys_ForeignGovernmentAgenciesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b9a49c51-ffd1-4bb8-bbb9-a035b55079c2" xlink:to="loc_qlys_ForeignGovernmentAgenciesMember_fb8b390a-aa97-4d7f-8a14-88640b3ee35a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_6f845d8b-5cd6-407e-b6e1-4bb62c629a96" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b9a49c51-ffd1-4bb8-bbb9-a035b55079c2" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_6f845d8b-5cd6-407e-b6e1-4bb62c629a96" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateDebtSecuritiesMember_830c3ef4-13f9-4064-ae4d-5b1f24b974c2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b9a49c51-ffd1-4bb8-bbb9-a035b55079c2" xlink:to="loc_us-gaap_CorporateDebtSecuritiesMember_830c3ef4-13f9-4064-ae4d-5b1f24b974c2" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_73b34a20-2fa3-4f6f-9ccd-c003dfa91f0a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USGovernmentAgenciesDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b9a49c51-ffd1-4bb8-bbb9-a035b55079c2" xlink:to="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_73b34a20-2fa3-4f6f-9ccd-c003dfa91f0a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesCurrentAbstract_5512143c-6624-4fdf-827e-1c2b27fa0b82" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesCurrentAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems_472329a7-e798-4ac2-af17-3fe00d5ff9d3" xlink:to="loc_us-gaap_DebtSecuritiesCurrentAbstract_5512143c-6624-4fdf-827e-1c2b27fa0b82" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_deb38f31-949a-455a-9d5d-9c09b03ec0b4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtSecuritiesCurrentAbstract_5512143c-6624-4fdf-827e-1c2b27fa0b82" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_deb38f31-949a-455a-9d5d-9c09b03ec0b4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_e5258b29-1f51-45f0-bdd5-4f0dd1588c80" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtSecuritiesCurrentAbstract_5512143c-6624-4fdf-827e-1c2b27fa0b82" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_e5258b29-1f51-45f0-bdd5-4f0dd1588c80" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesNoncurrentAbstract_572a502d-2584-47bd-9350-1166afee2187" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesNoncurrentAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems_472329a7-e798-4ac2-af17-3fe00d5ff9d3" xlink:to="loc_us-gaap_DebtSecuritiesNoncurrentAbstract_572a502d-2584-47bd-9350-1166afee2187" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_323b0cd7-f154-478d-be52-a316a4777e70" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtSecuritiesNoncurrentAbstract_572a502d-2584-47bd-9350-1166afee2187" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_323b0cd7-f154-478d-be52-a316a4777e70" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_8e7ecfe9-13ad-4a4d-a287-d1f6c890ca48" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtSecuritiesNoncurrentAbstract_572a502d-2584-47bd-9350-1166afee2187" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_8e7ecfe9-13ad-4a4d-a287-d1f6c890ca48" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAbstract_686798c4-ba4a-4888-9af1-ab963ac745bb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems_472329a7-e798-4ac2-af17-3fe00d5ff9d3" xlink:to="loc_us-gaap_DebtSecuritiesAbstract_686798c4-ba4a-4888-9af1-ab963ac745bb" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_2e0c47d2-3791-47fb-87ca-729e4958af3b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtSecuritiesAbstract_686798c4-ba4a-4888-9af1-ab963ac745bb" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_2e0c47d2-3791-47fb-87ca-729e4958af3b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_e7506d02-4ca4-4f55-9c78-849a9d37dd58" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtSecuritiesAbstract_686798c4-ba4a-4888-9af1-ab963ac745bb" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_e7506d02-4ca4-4f55-9c78-849a9d37dd58" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_4a442896-cf86-4fa3-8349-4334ce78b07d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativesFairValueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OffsettingAssetsTable_c0676053-47e6-4a47-8295-01f65ba4d344" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OffsettingAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_4a442896-cf86-4fa3-8349-4334ce78b07d" xlink:to="loc_us-gaap_OffsettingAssetsTable_c0676053-47e6-4a47-8295-01f65ba4d344" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentRiskAxis_2e500c11-1a86-443d-835c-4b9213d7ff65" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentRiskAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_OffsettingAssetsTable_c0676053-47e6-4a47-8295-01f65ba4d344" xlink:to="loc_us-gaap_DerivativeInstrumentRiskAxis_2e500c11-1a86-443d-835c-4b9213d7ff65" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain_2e500c11-1a86-443d-835c-4b9213d7ff65_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis_2e500c11-1a86-443d-835c-4b9213d7ff65" xlink:to="loc_us-gaap_DerivativeContractTypeDomain_2e500c11-1a86-443d-835c-4b9213d7ff65_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain_850648a9-90f7-4b55-83df-1427fa667383" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis_2e500c11-1a86-443d-835c-4b9213d7ff65" xlink:to="loc_us-gaap_DerivativeContractTypeDomain_850648a9-90f7-4b55-83df-1427fa667383" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignExchangeContractMember_e63ac97d-de65-4782-8e1a-dc0f2209b81f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignExchangeContractMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_850648a9-90f7-4b55-83df-1427fa667383" xlink:to="loc_us-gaap_ForeignExchangeContractMember_e63ac97d-de65-4782-8e1a-dc0f2209b81f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ForeignExchangeContractsForGBPAndEuroMember_b03123af-7bcb-4bc9-a358-605576e340c4" xlink:href="qlys-20231231.xsd#qlys_ForeignExchangeContractsForGBPAndEuroMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_850648a9-90f7-4b55-83df-1427fa667383" xlink:to="loc_qlys_ForeignExchangeContractsForGBPAndEuroMember_b03123af-7bcb-4bc9-a358-605576e340c4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationAxis_8512fa18-28fe-4359-9032-cacd623a2ea7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_OffsettingAssetsTable_c0676053-47e6-4a47-8295-01f65ba4d344" xlink:to="loc_us-gaap_HedgingDesignationAxis_8512fa18-28fe-4359-9032-cacd623a2ea7" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_8512fa18-28fe-4359-9032-cacd623a2ea7_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_8512fa18-28fe-4359-9032-cacd623a2ea7" xlink:to="loc_us-gaap_HedgingDesignationDomain_8512fa18-28fe-4359-9032-cacd623a2ea7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_efd9cc12-c5f3-44c3-9ed5-d238937613d7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_8512fa18-28fe-4359-9032-cacd623a2ea7" xlink:to="loc_us-gaap_HedgingDesignationDomain_efd9cc12-c5f3-44c3-9ed5-d238937613d7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_1010cfd3-2808-48c2-bb1c-f168604ad957" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DesignatedAsHedgingInstrumentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_efd9cc12-c5f3-44c3-9ed5-d238937613d7" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_1010cfd3-2808-48c2-bb1c-f168604ad957" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NondesignatedMember_2e42b54c-e93d-4f22-87fd-3a5fa0431e00" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NondesignatedMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_efd9cc12-c5f3-44c3-9ed5-d238937613d7" xlink:to="loc_us-gaap_NondesignatedMember_2e42b54c-e93d-4f22-87fd-3a5fa0431e00" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_d78d01d4-e6ec-4776-a6fe-2a74b9ca50f0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_OffsettingAssetsTable_c0676053-47e6-4a47-8295-01f65ba4d344" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_d78d01d4-e6ec-4776-a6fe-2a74b9ca50f0" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingRelationshipDomain_d78d01d4-e6ec-4776-a6fe-2a74b9ca50f0_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingRelationshipDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_d78d01d4-e6ec-4776-a6fe-2a74b9ca50f0" xlink:to="loc_us-gaap_HedgingRelationshipDomain_d78d01d4-e6ec-4776-a6fe-2a74b9ca50f0_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingRelationshipDomain_8e361749-cbd8-443b-b571-cda24cbbfb7c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingRelationshipDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_d78d01d4-e6ec-4776-a6fe-2a74b9ca50f0" xlink:to="loc_us-gaap_HedgingRelationshipDomain_8e361749-cbd8-443b-b571-cda24cbbfb7c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashFlowHedgingMember_4f162548-9571-415a-bd36-5c09f5f592f5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashFlowHedgingMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingRelationshipDomain_8e361749-cbd8-443b-b571-cda24cbbfb7c" xlink:to="loc_us-gaap_CashFlowHedgingMember_4f162548-9571-415a-bd36-5c09f5f592f5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeNotionalAmount_b2e9b41e-6f66-4a55-b0a2-56e7c067ecaa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeNotionalAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_4a442896-cf86-4fa3-8349-4334ce78b07d" xlink:to="loc_us-gaap_DerivativeNotionalAmount_b2e9b41e-6f66-4a55-b0a2-56e7c067ecaa" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months_02bd10a6-3aae-4b0f-a665-311ceb47008a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_4a442896-cf86-4fa3-8349-4334ce78b07d" xlink:to="loc_us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months_02bd10a6-3aae-4b0f-a665-311ceb47008a" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_6d251148-2c5d-4c87-b645-731c62ee4d63" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativesFairValueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_6e7e3f05-992d-4626-8b2e-04ea02d60306" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOptionQuantitativeDisclosuresTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_6d251148-2c5d-4c87-b645-731c62ee4d63" xlink:to="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_6e7e3f05-992d-4626-8b2e-04ea02d60306" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationAxis_57adc63c-215b-406a-ab09-6898e3547214" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_6e7e3f05-992d-4626-8b2e-04ea02d60306" xlink:to="loc_us-gaap_HedgingDesignationAxis_57adc63c-215b-406a-ab09-6898e3547214" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_57adc63c-215b-406a-ab09-6898e3547214_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_57adc63c-215b-406a-ab09-6898e3547214" xlink:to="loc_us-gaap_HedgingDesignationDomain_57adc63c-215b-406a-ab09-6898e3547214_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_d19debfb-863b-4130-9f39-b67cd8a90586" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_57adc63c-215b-406a-ab09-6898e3547214" xlink:to="loc_us-gaap_HedgingDesignationDomain_d19debfb-863b-4130-9f39-b67cd8a90586" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_a8f5040b-a251-4e39-b128-34d5df66c0de" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DesignatedAsHedgingInstrumentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_d19debfb-863b-4130-9f39-b67cd8a90586" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_a8f5040b-a251-4e39-b128-34d5df66c0de" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NondesignatedMember_d9991d18-428b-445e-81c5-d776263ec3cd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NondesignatedMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_d19debfb-863b-4130-9f39-b67cd8a90586" xlink:to="loc_us-gaap_NondesignatedMember_d9991d18-428b-445e-81c5-d776263ec3cd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_7a461527-c07f-40b9-ac94-a4c0e11c2659" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_6d251148-2c5d-4c87-b645-731c62ee4d63" xlink:to="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_7a461527-c07f-40b9-ac94-a4c0e11c2659" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_3ba342f4-84fd-46e6-91f2-45a9aa832454" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_6d251148-2c5d-4c87-b645-731c62ee4d63" xlink:to="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_3ba342f4-84fd-46e6-91f2-45a9aa832454" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_7c6b3b3e-e03d-46bb-acac-f66bcc0057b6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_5f283f41-91c0-4744-9f12-99d272f6483e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_7c6b3b3e-e03d-46bb-acac-f66bcc0057b6" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_5f283f41-91c0-4744-9f12-99d272f6483e" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_f8dd2d11-775f-45d8-a732-4e3ed8298942" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_5f283f41-91c0-4744-9f12-99d272f6483e" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_f8dd2d11-775f-45d8-a732-4e3ed8298942" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_f8dd2d11-775f-45d8-a732-4e3ed8298942_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_f8dd2d11-775f-45d8-a732-4e3ed8298942" xlink:to="loc_us-gaap_EquityComponentDomain_f8dd2d11-775f-45d8-a732-4e3ed8298942_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_8db52e39-9e66-4bc1-bb75-01ed6bd2d7b8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_f8dd2d11-775f-45d8-a732-4e3ed8298942" xlink:to="loc_us-gaap_EquityComponentDomain_8db52e39-9e66-4bc1-bb75-01ed6bd2d7b8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cf890a5f-487f-4cec-9ae1-7b35fab142e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_8db52e39-9e66-4bc1-bb75-01ed6bd2d7b8" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cf890a5f-487f-4cec-9ae1-7b35fab142e3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember_92fae335-93d6-4e4a-a71f-7298b16cf028" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cf890a5f-487f-4cec-9ae1-7b35fab142e3" xlink:to="loc_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember_92fae335-93d6-4e4a-a71f-7298b16cf028" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_75e81228-f349-464c-8643-d53139c7638f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cf890a5f-487f-4cec-9ae1-7b35fab142e3" xlink:to="loc_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_75e81228-f349-464c-8643-d53139c7638f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_9a9adfff-8a0e-46e6-a2ad-a5e3f7863902" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AOCIAttributableToParentNetOfTaxRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_7c6b3b3e-e03d-46bb-acac-f66bcc0057b6" xlink:to="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_9a9adfff-8a0e-46e6-a2ad-a5e3f7863902" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_adbb807a-7b68-4d3d-86d2-5064a13610f7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_9a9adfff-8a0e-46e6-a2ad-a5e3f7863902" xlink:to="loc_us-gaap_StockholdersEquity_adbb807a-7b68-4d3d-86d2-5064a13610f7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent_ff28df7b-f4cb-4d58-ba75-9b55ca4d73e8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_9a9adfff-8a0e-46e6-a2ad-a5e3f7863902" xlink:to="loc_us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent_ff28df7b-f4cb-4d58-ba75-9b55ca4d73e8" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent_8d131097-9f31-4870-9914-58208023f46d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_9a9adfff-8a0e-46e6-a2ad-a5e3f7863902" xlink:to="loc_us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent_8d131097-9f31-4870-9914-58208023f46d" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1_19b882d6-a96f-493a-ad8d-64c457d7ff87" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_9a9adfff-8a0e-46e6-a2ad-a5e3f7863902" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1_19b882d6-a96f-493a-ad8d-64c457d7ff87" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_3340fa5e-50c7-45af-8b02-3aec3c6fbe13" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_9a9adfff-8a0e-46e6-a2ad-a5e3f7863902" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_3340fa5e-50c7-45af-8b02-3aec3c6fbe13" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_f0d4aa7b-2834-4089-a62c-3d769bf4c729" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_1d11e02c-55ac-4758-a197-a82e82bfd583" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_8cd8e84f-88b6-4443-93c9-b46cff86b2ba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_1d11e02c-55ac-4758-a197-a82e82bfd583" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_8cd8e84f-88b6-4443-93c9-b46cff86b2ba" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis_54dc66bf-ece0-4e08-818d-611a88776327" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_8cd8e84f-88b6-4443-93c9-b46cff86b2ba" xlink:to="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis_54dc66bf-ece0-4e08-818d-611a88776327" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain_54dc66bf-ece0-4e08-818d-611a88776327_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis_54dc66bf-ece0-4e08-818d-611a88776327" xlink:to="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain_54dc66bf-ece0-4e08-818d-611a88776327_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain_ae10e627-9981-483f-9bef-83c61422c5c5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis_54dc66bf-ece0-4e08-818d-611a88776327" xlink:to="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain_ae10e627-9981-483f-9bef-83c61422c5c5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember_358c6efe-20bf-4f88-8a9f-12d08e319188" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain_ae10e627-9981-483f-9bef-83c61422c5c5" xlink:to="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember_358c6efe-20bf-4f88-8a9f-12d08e319188" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_b94338ef-5e78-4635-ade1-c7884638351e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_8cd8e84f-88b6-4443-93c9-b46cff86b2ba" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_b94338ef-5e78-4635-ade1-c7884638351e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_b94338ef-5e78-4635-ade1-c7884638351e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_b94338ef-5e78-4635-ade1-c7884638351e" xlink:to="loc_us-gaap_EquityComponentDomain_b94338ef-5e78-4635-ade1-c7884638351e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_dab74778-269f-4220-b58f-00b4e59e36a3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_b94338ef-5e78-4635-ade1-c7884638351e" xlink:to="loc_us-gaap_EquityComponentDomain_dab74778-269f-4220-b58f-00b4e59e36a3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember_0cad3af3-639c-4264-92a2-557bbe2a331f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_dab74778-269f-4220-b58f-00b4e59e36a3" xlink:to="loc_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember_0cad3af3-639c-4264-92a2-557bbe2a331f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_5bf79c33-ec42-4c88-a35d-da0a412dced7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_dab74778-269f-4220-b58f-00b4e59e36a3" xlink:to="loc_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_5bf79c33-ec42-4c88-a35d-da0a412dced7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract_976ec502-94c4-45c8-aaca-5309ff2b50ee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_1d11e02c-55ac-4758-a197-a82e82bfd583" xlink:to="loc_us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract_976ec502-94c4-45c8-aaca-5309ff2b50ee" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_ff97ddde-6577-488c-ac4f-314896b9c513" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract_976ec502-94c4-45c8-aaca-5309ff2b50ee" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_ff97ddde-6577-488c-ac4f-314896b9c513" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AOCIAttributableToParentAbstract_0e234316-e429-42ba-8de2-d833399d1b18" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AOCIAttributableToParentAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_1d11e02c-55ac-4758-a197-a82e82bfd583" xlink:to="loc_us-gaap_AOCIAttributableToParentAbstract_0e234316-e429-42ba-8de2-d833399d1b18" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_db4a7d01-f17c-409c-b8c9-f4bc739012fd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentAbstract_0e234316-e429-42ba-8de2-d833399d1b18" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_db4a7d01-f17c-409c-b8c9-f4bc739012fd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_471c3736-baa9-4e25-bf9a-9abc407b3eba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentAbstract_0e234316-e429-42ba-8de2-d833399d1b18" xlink:to="loc_us-gaap_CostOfRevenue_471c3736-baa9-4e25-bf9a-9abc407b3eba" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_fdcef6d4-7060-4d28-8d9f-2d3dbb9c6d3c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentAbstract_0e234316-e429-42ba-8de2-d833399d1b18" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_fdcef6d4-7060-4d28-8d9f-2d3dbb9c6d3c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_024d0fe4-0f5f-4c35-b95e-1cab775fd759" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentAbstract_0e234316-e429-42ba-8de2-d833399d1b18" xlink:to="loc_us-gaap_SellingAndMarketingExpense_024d0fe4-0f5f-4c35-b95e-1cab775fd759" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_08ccedda-c5cc-44bc-8cb2-cb1c4832236d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentAbstract_0e234316-e429-42ba-8de2-d833399d1b18" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_08ccedda-c5cc-44bc-8cb2-cb1c4832236d" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_e427109d-2f14-4567-a969-43386ac81ee6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentAbstract_0e234316-e429-42ba-8de2-d833399d1b18" xlink:to="loc_us-gaap_NetIncomeLoss_e427109d-2f14-4567-a969-43386ac81ee6" xlink:type="arc" order="6"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_11444224-55fc-4cfc-826c-c72e74f38454" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_834ec886-183a-42b8-b8d9-5e3fa18e146d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_11444224-55fc-4cfc-826c-c72e74f38454" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_834ec886-183a-42b8-b8d9-5e3fa18e146d" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_efb27cff-23dc-48aa-9e69-36acb10fa154" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_834ec886-183a-42b8-b8d9-5e3fa18e146d" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_efb27cff-23dc-48aa-9e69-36acb10fa154" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_efb27cff-23dc-48aa-9e69-36acb10fa154_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_efb27cff-23dc-48aa-9e69-36acb10fa154" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_efb27cff-23dc-48aa-9e69-36acb10fa154_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_1aad3963-a05d-438d-994a-0457da09cf58" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_efb27cff-23dc-48aa-9e69-36acb10fa154" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_1aad3963-a05d-438d-994a-0457da09cf58" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_447744c3-2fd4-4255-b501-d78ab68d1d81" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_1aad3963-a05d-438d-994a-0457da09cf58" xlink:to="loc_us-gaap_ComputerEquipmentMember_447744c3-2fd4-4255-b501-d78ab68d1d81" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerSoftwareIntangibleAssetMember_32a74b03-16be-439a-8755-f7453481ada6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_1aad3963-a05d-438d-994a-0457da09cf58" xlink:to="loc_us-gaap_ComputerSoftwareIntangibleAssetMember_32a74b03-16be-439a-8755-f7453481ada6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_5e96e5a8-2f5e-49de-a838-2d7078875cfc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_1aad3963-a05d-438d-994a-0457da09cf58" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_5e96e5a8-2f5e-49de-a838-2d7078875cfc" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ScannerAppliancesMember_5c97d9b2-35c3-4dd0-a861-34d8d5cad86e" xlink:href="qlys-20231231.xsd#qlys_ScannerAppliancesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_1aad3963-a05d-438d-994a-0457da09cf58" xlink:to="loc_qlys_ScannerAppliancesMember_5c97d9b2-35c3-4dd0-a861-34d8d5cad86e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_583cca31-524b-4a0d-85ba-5c4c0823afc6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_1aad3963-a05d-438d-994a-0457da09cf58" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_583cca31-524b-4a0d-85ba-5c4c0823afc6" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_c497b572-e7c0-49c2-93f4-98605e1ad925" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_11444224-55fc-4cfc-826c-c72e74f38454" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_c497b572-e7c0-49c2-93f4-98605e1ad925" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_36a213e4-3fdf-4a2a-949e-b4eb195dde6c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_11444224-55fc-4cfc-826c-c72e74f38454" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_36a213e4-3fdf-4a2a-949e-b4eb195dde6c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_b8ab5f60-f2d5-4761-8634-7b44af6e28fa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_11444224-55fc-4cfc-826c-c72e74f38454" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_b8ab5f60-f2d5-4761-8634-7b44af6e28fa" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#PropertyandEquipmentNetNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_f65eb938-4438-4ffb-9839-b82d9ab62bd9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_28228401-9f41-43ce-ae20-5ee3bbf6304f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_f65eb938-4438-4ffb-9839-b82d9ab62bd9" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_28228401-9f41-43ce-ae20-5ee3bbf6304f" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7c4e2d5a-1622-41ea-a231-c72339649f12" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_28228401-9f41-43ce-ae20-5ee3bbf6304f" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7c4e2d5a-1622-41ea-a231-c72339649f12" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_7c4e2d5a-1622-41ea-a231-c72339649f12_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7c4e2d5a-1622-41ea-a231-c72339649f12" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_7c4e2d5a-1622-41ea-a231-c72339649f12_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_693b25ba-006a-4547-b73c-b8da5d04385b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7c4e2d5a-1622-41ea-a231-c72339649f12" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_693b25ba-006a-4547-b73c-b8da5d04385b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember_0905b681-0204-460c-ad05-f12435ab15f1" xlink:href="qlys-20231231.xsd#qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_693b25ba-006a-4547-b73c-b8da5d04385b" xlink:to="loc_qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember_0905b681-0204-460c-ad05-f12435ab15f1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember_ad85c147-193c-40e2-b3d2-ff90728f83ac" xlink:href="qlys-20231231.xsd#qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_693b25ba-006a-4547-b73c-b8da5d04385b" xlink:to="loc_qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember_ad85c147-193c-40e2-b3d2-ff90728f83ac" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_496bfb6a-2aab-49f2-92ab-c9f57ef21f3c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_f65eb938-4438-4ffb-9839-b82d9ab62bd9" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_496bfb6a-2aab-49f2-92ab-c9f57ef21f3c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization_e8077eaf-e064-48b6-9fe3-bfacd0763bd6" xlink:href="qlys-20231231.xsd#qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_f65eb938-4438-4ffb-9839-b82d9ab62bd9" xlink:to="loc_qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization_e8077eaf-e064-48b6-9fe3-bfacd0763bd6" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_9fd53c7a-2706-4758-a9be-8670cc197539" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_7321869f-57cd-4d46-aafe-55f07bd0521d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_9fd53c7a-2706-4758-a9be-8670cc197539" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_7321869f-57cd-4d46-aafe-55f07bd0521d" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_f39a4c37-d52f-4b69-9133-269a11adef41" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_7321869f-57cd-4d46-aafe-55f07bd0521d" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_f39a4c37-d52f-4b69-9133-269a11adef41" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation_815d729f-6f16-4cdd-83e6-a4f7b6d46f99" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_9fd53c7a-2706-4758-a9be-8670cc197539" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligation_815d729f-6f16-4cdd-83e6-a4f7b6d46f99" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_1b22e6af-9da8-4e0b-8a68-86f7c90ada74" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_9fd53c7a-2706-4758-a9be-8670cc197539" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_1b22e6af-9da8-4e0b-8a68-86f7c90ada74" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails_1" xlink:type="simple" xlink:href="qlys-20231231.xsd#RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails_1"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_9fd53c7a-2706-4758-a9be-8670cc197539" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_7321869f-57cd-4d46-aafe-55f07bd0521d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_9fd53c7a-2706-4758-a9be-8670cc197539" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_7321869f-57cd-4d46-aafe-55f07bd0521d" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation_815d729f-6f16-4cdd-83e6-a4f7b6d46f99" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_9fd53c7a-2706-4758-a9be-8670cc197539" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligation_815d729f-6f16-4cdd-83e6-a4f7b6d46f99" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_1b22e6af-9da8-4e0b-8a68-86f7c90ada74" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_9fd53c7a-2706-4758-a9be-8670cc197539" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_1b22e6af-9da8-4e0b-8a68-86f7c90ada74" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/RevenuefromContractsWithCustomersRevenuebySalesChannelDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#RevenuefromContractsWithCustomersRevenuebySalesChannelDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/RevenuefromContractsWithCustomersRevenuebySalesChannelDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_4bb821e6-834d-46f9-a2a9-915ccc6535c5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_cc5c8ef9-be93-4207-877f-e0bf80e9d927" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_4bb821e6-834d-46f9-a2a9-915ccc6535c5" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_cc5c8ef9-be93-4207-877f-e0bf80e9d927" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerSalesChannelAxis_43f6b74d-eceb-44f8-ba1b-72eb4eeacc2a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerSalesChannelAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_cc5c8ef9-be93-4207-877f-e0bf80e9d927" xlink:to="loc_us-gaap_ContractWithCustomerSalesChannelAxis_43f6b74d-eceb-44f8-ba1b-72eb4eeacc2a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerSalesChannelDomain_43f6b74d-eceb-44f8-ba1b-72eb4eeacc2a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerSalesChannelDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ContractWithCustomerSalesChannelAxis_43f6b74d-eceb-44f8-ba1b-72eb4eeacc2a" xlink:to="loc_us-gaap_ContractWithCustomerSalesChannelDomain_43f6b74d-eceb-44f8-ba1b-72eb4eeacc2a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerSalesChannelDomain_eb3284a1-55a7-4b0d-a2ae-6e4de5637c4f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerSalesChannelDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ContractWithCustomerSalesChannelAxis_43f6b74d-eceb-44f8-ba1b-72eb4eeacc2a" xlink:to="loc_us-gaap_ContractWithCustomerSalesChannelDomain_eb3284a1-55a7-4b0d-a2ae-6e4de5637c4f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesChannelDirectlyToConsumerMember_5cdb3ca6-6d49-4ac6-9752-6fdd1867b77d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesChannelDirectlyToConsumerMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ContractWithCustomerSalesChannelDomain_eb3284a1-55a7-4b0d-a2ae-6e4de5637c4f" xlink:to="loc_us-gaap_SalesChannelDirectlyToConsumerMember_5cdb3ca6-6d49-4ac6-9752-6fdd1867b77d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesChannelThroughIntermediaryMember_951ecfc8-23c3-43a6-a037-aee081536caa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesChannelThroughIntermediaryMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ContractWithCustomerSalesChannelDomain_eb3284a1-55a7-4b0d-a2ae-6e4de5637c4f" xlink:to="loc_us-gaap_SalesChannelThroughIntermediaryMember_951ecfc8-23c3-43a6-a037-aee081536caa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_abdf90df-310f-40e2-8d96-5b5bbd32aba6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_4bb821e6-834d-46f9-a2a9-915ccc6535c5" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_abdf90df-310f-40e2-8d96-5b5bbd32aba6" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/AcquisitionsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#AcquisitionsDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/AcquisitionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_a83b08e8-873b-4a24-b72e-f16966b985f5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_a83b08e8-873b-4a24-b72e-f16966b985f5" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetAcquisitionAxis_0c833149-1a8a-4ccf-bc1d-d3c47c4f6b83" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_a83b08e8-873b-4a24-b72e-f16966b985f5" xlink:to="loc_us-gaap_AssetAcquisitionAxis_0c833149-1a8a-4ccf-bc1d-d3c47c4f6b83" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetAcquisitionDomain_0c833149-1a8a-4ccf-bc1d-d3c47c4f6b83_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetAcquisitionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AssetAcquisitionAxis_0c833149-1a8a-4ccf-bc1d-d3c47c4f6b83" xlink:to="loc_us-gaap_AssetAcquisitionDomain_0c833149-1a8a-4ccf-bc1d-d3c47c4f6b83_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetAcquisitionDomain_e112f5a5-cc13-424a-8508-900c666451ac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetAcquisitionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AssetAcquisitionAxis_0c833149-1a8a-4ccf-bc1d-d3c47c4f6b83" xlink:to="loc_us-gaap_AssetAcquisitionDomain_e112f5a5-cc13-424a-8508-900c666451ac" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_BlueHexagonIncMember_bc877c82-c8bb-4147-a3dd-696e3374bb8e" xlink:href="qlys-20231231.xsd#qlys_BlueHexagonIncMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetAcquisitionDomain_e112f5a5-cc13-424a-8508-900c666451ac" xlink:to="loc_qlys_BlueHexagonIncMember_bc877c82-c8bb-4147-a3dd-696e3374bb8e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1dd0a664-f642-459f-8b25-118c28297413" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_a83b08e8-873b-4a24-b72e-f16966b985f5" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1dd0a664-f642-459f-8b25-118c28297413" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1dd0a664-f642-459f-8b25-118c28297413_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1dd0a664-f642-459f-8b25-118c28297413" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1dd0a664-f642-459f-8b25-118c28297413_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_446d8c7e-8f96-4265-95af-58618a351a98" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1dd0a664-f642-459f-8b25-118c28297413" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_446d8c7e-8f96-4265-95af-58618a351a98" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_da75c480-49dd-48bd-8c2b-e0ce99958c88" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_446d8c7e-8f96-4265-95af-58618a351a98" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_da75c480-49dd-48bd-8c2b-e0ce99958c88" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssembledWorkforceMember_ae29c995-8efd-4b83-9d44-68ca91f86c62" xlink:href="qlys-20231231.xsd#qlys_AssembledWorkforceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_446d8c7e-8f96-4265-95af-58618a351a98" xlink:to="loc_qlys_AssembledWorkforceMember_ae29c995-8efd-4b83-9d44-68ca91f86c62" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetAcquisitionConsiderationTransferred_972912bd-b02d-4b75-b5e6-70e8b143a16b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetAcquisitionConsiderationTransferred"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_us-gaap_AssetAcquisitionConsiderationTransferred_972912bd-b02d-4b75-b5e6-70e8b143a16b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireProductiveAssets_fb52a274-cced-43c5-9b6c-3b804e902b38" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireProductiveAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_us-gaap_PaymentsToAcquireProductiveAssets_fb52a274-cced-43c5-9b6c-3b804e902b38" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetAcquisitionConsiderationTransferredPayable_d3d2ac09-b5b9-4ce6-bd55-dd8ecd8582ed" xlink:href="qlys-20231231.xsd#qlys_AssetAcquisitionConsiderationTransferredPayable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_qlys_AssetAcquisitionConsiderationTransferredPayable_d3d2ac09-b5b9-4ce6-bd55-dd8ecd8582ed" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetAcquisitionConsiderationPayableTerm_f43b3f6c-5cc1-4549-b2c5-71ed456bf251" xlink:href="qlys-20231231.xsd#qlys_AssetAcquisitionConsiderationPayableTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_qlys_AssetAcquisitionConsiderationPayableTerm_f43b3f6c-5cc1-4549-b2c5-71ed456bf251" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue_19b73cb0-c345-4923-ad74-7ea5a23b6949" xlink:href="qlys-20231231.xsd#qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue_19b73cb0-c345-4923-ad74-7ea5a23b6949" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetAcquisitionAcquisitionRelatedCosts_420d36ed-4d76-4c4f-b2f0-707cf67672f0" xlink:href="qlys-20231231.xsd#qlys_AssetAcquisitionAcquisitionRelatedCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_qlys_AssetAcquisitionAcquisitionRelatedCosts_420d36ed-4d76-4c4f-b2f0-707cf67672f0" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles_bd72bacf-ca3a-4ee8-a0a0-c744cdbbebdc" xlink:href="qlys-20231231.xsd#qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles_bd72bacf-ca3a-4ee8-a0a0-c744cdbbebdc" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_255dcbef-7213-4df0-8a3e-854fb2b871a7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_255dcbef-7213-4df0-8a3e-854fb2b871a7" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_32a4c5d3-4f91-439e-aba6-b712bfaea627" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_32a4c5d3-4f91-439e-aba6-b712bfaea627" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireIntangibleAssets_536ae646-ea7a-4820-bc69-c3c8146a096c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_us-gaap_PaymentsToAcquireIntangibleAssets_536ae646-ea7a-4820-bc69-c3c8146a096c" xlink:type="arc" order="9"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_3cbf159a-db05-480b-8efe-028afe4d8133" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_3cbf159a-db05-480b-8efe-028afe4d8133" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_532dd7a4-25eb-4026-af14-4b0cec5d7fd9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_3cbf159a-db05-480b-8efe-028afe4d8133" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_532dd7a4-25eb-4026-af14-4b0cec5d7fd9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_532dd7a4-25eb-4026-af14-4b0cec5d7fd9_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_532dd7a4-25eb-4026-af14-4b0cec5d7fd9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_532dd7a4-25eb-4026-af14-4b0cec5d7fd9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3f2631d5-0679-423a-a73f-147ffe709ba3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_532dd7a4-25eb-4026-af14-4b0cec5d7fd9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3f2631d5-0679-423a-a73f-147ffe709ba3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_b4df57fb-e998-4910-a678-ff096f53a3e0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3f2631d5-0679-423a-a73f-147ffe709ba3" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_b4df57fb-e998-4910-a678-ff096f53a3e0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PatentsMember_6b5e0376-f371-4785-add3-e31f52adb3ac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3f2631d5-0679-423a-a73f-147ffe709ba3" xlink:to="loc_us-gaap_PatentsMember_6b5e0376-f371-4785-add3-e31f52adb3ac" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssembledWorkforceMember_88496552-0d9b-4748-9051-3c6ee59eab5f" xlink:href="qlys-20231231.xsd#qlys_AssembledWorkforceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3f2631d5-0679-423a-a73f-147ffe709ba3" xlink:to="loc_qlys_AssembledWorkforceMember_88496552-0d9b-4748-9051-3c6ee59eab5f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_d94ac02f-ff4b-42a9-bb4a-147ed514c891" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_d94ac02f-ff4b-42a9-bb4a-147ed514c891" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_e37b14bd-4ae4-42ca-b6ae-89057c090b9e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_e37b14bd-4ae4-42ca-b6ae-89057c090b9e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_7a814cb5-a7f9-4d64-b144-f465d552bbc5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_7a814cb5-a7f9-4d64-b144-f465d552bbc5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_016c24e9-efb6-4748-a68f-9274d7475511" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_016c24e9-efb6-4748-a68f-9274d7475511" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_7c9827f7-b5f1-4955-b2c4-b1cdbd413b95" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_7c9827f7-b5f1-4955-b2c4-b1cdbd413b95" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_0ae397c4-4f4d-4166-a339-aa405ba6d40a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_0ae397c4-4f4d-4166-a339-aa405ba6d40a" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_b3b38bfd-c2df-4eb3-b819-99d1bad857cb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_b3b38bfd-c2df-4eb3-b819-99d1bad857cb" xlink:type="arc" order="6"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d6533f8c-e0c1-499e-a943-47933cea5c85" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d6533f8c-e0c1-499e-a943-47933cea5c85" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_e0b36a61-9096-4dac-ab37-fb0b55a53226" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d6533f8c-e0c1-499e-a943-47933cea5c85" xlink:to="loc_us-gaap_PlanNameAxis_e0b36a61-9096-4dac-ab37-fb0b55a53226" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_e0b36a61-9096-4dac-ab37-fb0b55a53226_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_e0b36a61-9096-4dac-ab37-fb0b55a53226" xlink:to="loc_us-gaap_PlanNameDomain_e0b36a61-9096-4dac-ab37-fb0b55a53226_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_94acae0d-358d-4c9d-880b-16f6a9024957" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_e0b36a61-9096-4dac-ab37-fb0b55a53226" xlink:to="loc_us-gaap_PlanNameDomain_94acae0d-358d-4c9d-880b-16f6a9024957" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_The2012EquityIncentivePlanMember_980e2510-8f3a-437a-9dcf-67099cd26382" xlink:href="qlys-20231231.xsd#qlys_The2012EquityIncentivePlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_94acae0d-358d-4c9d-880b-16f6a9024957" xlink:to="loc_qlys_The2012EquityIncentivePlanMember_980e2510-8f3a-437a-9dcf-67099cd26382" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_The2021EmployeeStockPurchasePlanMember_dad23d5d-b59c-49bb-9ddb-edb3d1ce0a3d" xlink:href="qlys-20231231.xsd#qlys_The2021EmployeeStockPurchasePlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_94acae0d-358d-4c9d-880b-16f6a9024957" xlink:to="loc_qlys_The2021EmployeeStockPurchasePlanMember_dad23d5d-b59c-49bb-9ddb-edb3d1ce0a3d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_b9a01abb-ea49-414a-9026-bca3278cbf4b" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d6533f8c-e0c1-499e-a943-47933cea5c85" xlink:to="loc_srt_RangeAxis_b9a01abb-ea49-414a-9026-bca3278cbf4b" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_b9a01abb-ea49-414a-9026-bca3278cbf4b_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_b9a01abb-ea49-414a-9026-bca3278cbf4b" xlink:to="loc_srt_RangeMember_b9a01abb-ea49-414a-9026-bca3278cbf4b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_8653d206-cd64-4ffa-9b8e-1ac5c1e75958" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_b9a01abb-ea49-414a-9026-bca3278cbf4b" xlink:to="loc_srt_RangeMember_8653d206-cd64-4ffa-9b8e-1ac5c1e75958" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_081a3e13-b5bd-468d-8fce-72972ca5485b" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_8653d206-cd64-4ffa-9b8e-1ac5c1e75958" xlink:to="loc_srt_MinimumMember_081a3e13-b5bd-468d-8fce-72972ca5485b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_b2eb08e2-b648-4485-90f4-ee3fd5b0c575" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_8653d206-cd64-4ffa-9b8e-1ac5c1e75958" xlink:to="loc_srt_MaximumMember_b2eb08e2-b648-4485-90f4-ee3fd5b0c575" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares_b3c1566c-4add-4310-9f0e-015e724ba946" xlink:href="qlys-20231231.xsd#qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares_b3c1566c-4add-4310-9f0e-015e724ba946" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding_da844cfd-1335-4825-83ae-7ccd3dfdf6a3" xlink:href="qlys-20231231.xsd#qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding_da844cfd-1335-4825-83ae-7ccd3dfdf6a3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease_d9422759-7b7b-4d63-b1c0-2da1ac8906a6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease_d9422759-7b7b-4d63-b1c0-2da1ac8906a6" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_206ac285-e3f0-448e-913c-3d68721b283e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_206ac285-e3f0-448e-913c-3d68721b283e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_606fa09a-1fa2-4605-af40-5fda180b768a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_606fa09a-1fa2-4605-af40-5fda180b768a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_eeb73d2e-2855-4e9d-9ed6-d62bfc1d4357" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_eeb73d2e-2855-4e9d-9ed6-d62bfc1d4357" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_e9f692a2-ea8b-415f-b5f3-8e855f82fd50" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_e9f692a2-ea8b-415f-b5f3-8e855f82fd50" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_c8197b1c-71f4-4de9-ae70-268c201cb3ba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_c8197b1c-71f4-4de9-ae70-268c201cb3ba" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_c6b153dd-9be4-473b-accc-e37fb22e3461" xlink:href="qlys-20231231.xsd#qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_c6b153dd-9be4-473b-accc-e37fb22e3461" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable_8a4e4040-2add-47f4-afb6-f953126082f2" xlink:href="qlys-20231231.xsd#qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable_8a4e4040-2add-47f4-afb6-f953126082f2" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_31be99da-349b-442a-a22e-6cd516ec09d9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_31be99da-349b-442a-a22e-6cd516ec09d9" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_98d18cb5-dffa-439f-a979-acca15946806" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_98d18cb5-dffa-439f-a979-acca15946806" xlink:type="arc" order="11"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_29610a45-c4b0-4b6f-9232-7958768a884e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_76a8af61-d90b-4c87-90bb-30386bdf08dd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_29610a45-c4b0-4b6f-9232-7958768a884e" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_76a8af61-d90b-4c87-90bb-30386bdf08dd" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_3a5a10c1-fc02-4588-bcaf-bfe286056009" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_76a8af61-d90b-4c87-90bb-30386bdf08dd" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_3a5a10c1-fc02-4588-bcaf-bfe286056009" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_3a5a10c1-fc02-4588-bcaf-bfe286056009_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_3a5a10c1-fc02-4588-bcaf-bfe286056009" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_3a5a10c1-fc02-4588-bcaf-bfe286056009_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_7df8c842-d7e1-4083-b91d-15101adcb04c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_3a5a10c1-fc02-4588-bcaf-bfe286056009" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_7df8c842-d7e1-4083-b91d-15101adcb04c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_963cc754-245d-437e-a67f-fd5a23316ae5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_7df8c842-d7e1-4083-b91d-15101adcb04c" xlink:to="loc_us-gaap_CostOfSalesMember_963cc754-245d-437e-a67f-fd5a23316ae5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_d60e636a-5acc-41d0-80cb-942e36be4241" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_7df8c842-d7e1-4083-b91d-15101adcb04c" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_d60e636a-5acc-41d0-80cb-942e36be4241" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpenseMember_9ec5aa06-6942-49b5-a588-9b960aec0cc3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_7df8c842-d7e1-4083-b91d-15101adcb04c" xlink:to="loc_us-gaap_SellingAndMarketingExpenseMember_9ec5aa06-6942-49b5-a588-9b960aec0cc3" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember_2d9bd5f5-9e00-4d28-aa89-e1207a14618a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_7df8c842-d7e1-4083-b91d-15101adcb04c" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpenseMember_2d9bd5f5-9e00-4d28-aa89-e1207a14618a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_bb60f425-5d29-4aa1-85c8-ee2856d185e2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_29610a45-c4b0-4b6f-9232-7958768a884e" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_bb60f425-5d29-4aa1-85c8-ee2856d185e2" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1fa47e13-5081-4308-9afa-fd106ea6e825" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_398de9c3-e0f1-448e-9474-641117fcd1d8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1fa47e13-5081-4308-9afa-fd106ea6e825" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_398de9c3-e0f1-448e-9474-641117fcd1d8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_709d2d42-29f8-4f88-b368-b955a710d9d4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_398de9c3-e0f1-448e-9474-641117fcd1d8" xlink:to="loc_us-gaap_AwardTypeAxis_709d2d42-29f8-4f88-b368-b955a710d9d4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_709d2d42-29f8-4f88-b368-b955a710d9d4_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_709d2d42-29f8-4f88-b368-b955a710d9d4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_709d2d42-29f8-4f88-b368-b955a710d9d4_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_435f4bc6-5a88-4c7f-a59a-a8c2bac3e8bd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_709d2d42-29f8-4f88-b368-b955a710d9d4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_435f4bc6-5a88-4c7f-a59a-a8c2bac3e8bd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_11d6502f-8375-487d-8e48-e8f5d9b7bdc4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_435f4bc6-5a88-4c7f-a59a-a8c2bac3e8bd" xlink:to="loc_us-gaap_EmployeeStockOptionMember_11d6502f-8375-487d-8e48-e8f5d9b7bdc4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_c9b3e89d-434c-4a95-ace1-c2f8603a84fe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_435f4bc6-5a88-4c7f-a59a-a8c2bac3e8bd" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_c9b3e89d-434c-4a95-ace1-c2f8603a84fe" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PerformanceBasedRestrictedStockUnitsMember_b5093ae7-b850-468e-b66f-800ea07b1ed7" xlink:href="qlys-20231231.xsd#qlys_PerformanceBasedRestrictedStockUnitsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_435f4bc6-5a88-4c7f-a59a-a8c2bac3e8bd" xlink:to="loc_qlys_PerformanceBasedRestrictedStockUnitsMember_b5093ae7-b850-468e-b66f-800ea07b1ed7" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ESPPSharesMember_8ebe43c7-457b-409b-ad99-91e0852f7774" xlink:href="qlys-20231231.xsd#qlys_ESPPSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_435f4bc6-5a88-4c7f-a59a-a8c2bac3e8bd" xlink:to="loc_qlys_ESPPSharesMember_8ebe43c7-457b-409b-ad99-91e0852f7774" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_0378af47-ef90-4732-afe4-e36dcf652c40" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1fa47e13-5081-4308-9afa-fd106ea6e825" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_0378af47-ef90-4732-afe4-e36dcf652c40" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_c64d2619-6ddf-45dd-ba33-8a9b9f809832" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1fa47e13-5081-4308-9afa-fd106ea6e825" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_c64d2619-6ddf-45dd-ba33-8a9b9f809832" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_ef3dc67a-ceb1-43ab-8a36-39040793972a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1fa47e13-5081-4308-9afa-fd106ea6e825" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_ef3dc67a-ceb1-43ab-8a36-39040793972a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_567d8904-9c6b-4a22-9855-916ef4174825" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1fa47e13-5081-4308-9afa-fd106ea6e825" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_567d8904-9c6b-4a22-9855-916ef4174825" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod_a0b36fb6-9474-444f-8bc2-77509c9ee0b4" xlink:href="qlys-20231231.xsd#qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1fa47e13-5081-4308-9afa-fd106ea6e825" xlink:to="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod_a0b36fb6-9474-444f-8bc2-77509c9ee0b4" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1edb2178-eb35-4b3f-ae80-2e63401617b7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1edb2178-eb35-4b3f-ae80-2e63401617b7" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_c137d6c5-051a-4038-aab9-fb0adb2988f7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1edb2178-eb35-4b3f-ae80-2e63401617b7" xlink:to="loc_us-gaap_AwardTypeAxis_c137d6c5-051a-4038-aab9-fb0adb2988f7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c137d6c5-051a-4038-aab9-fb0adb2988f7_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_c137d6c5-051a-4038-aab9-fb0adb2988f7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c137d6c5-051a-4038-aab9-fb0adb2988f7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_393b0c88-1f22-4c71-99f6-7f6fcbc81883" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_c137d6c5-051a-4038-aab9-fb0adb2988f7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_393b0c88-1f22-4c71-99f6-7f6fcbc81883" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_819766a7-446a-4ad8-9d7a-2f63454274b1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_393b0c88-1f22-4c71-99f6-7f6fcbc81883" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_819766a7-446a-4ad8-9d7a-2f63454274b1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_f6199da7-490b-4ac8-8d11-d44168b75a7c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_393b0c88-1f22-4c71-99f6-7f6fcbc81883" xlink:to="loc_us-gaap_EmployeeStockOptionMember_f6199da7-490b-4ac8-8d11-d44168b75a7c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PerformanceBasedRestrictedStockUnitsMember_4908b649-32bb-4aa9-91f2-00845efce804" xlink:href="qlys-20231231.xsd#qlys_PerformanceBasedRestrictedStockUnitsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_393b0c88-1f22-4c71-99f6-7f6fcbc81883" xlink:to="loc_qlys_PerformanceBasedRestrictedStockUnitsMember_4908b649-32bb-4aa9-91f2-00845efce804" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis_8c9de280-1433-404f-9ca5-963f2bf1c1aa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1edb2178-eb35-4b3f-ae80-2e63401617b7" xlink:to="loc_us-gaap_VestingAxis_8c9de280-1433-404f-9ca5-963f2bf1c1aa" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_8c9de280-1433-404f-9ca5-963f2bf1c1aa_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VestingAxis_8c9de280-1433-404f-9ca5-963f2bf1c1aa" xlink:to="loc_us-gaap_VestingDomain_8c9de280-1433-404f-9ca5-963f2bf1c1aa_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_92290e13-0599-4d2e-a9d6-90f10299b07d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VestingAxis_8c9de280-1433-404f-9ca5-963f2bf1c1aa" xlink:to="loc_us-gaap_VestingDomain_92290e13-0599-4d2e-a9d6-90f10299b07d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_TimeBasedSharedBasedCompensationMember_624ecaba-4dc7-4934-a0a8-1e04f2e3bcd3" xlink:href="qlys-20231231.xsd#qlys_TimeBasedSharedBasedCompensationMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_92290e13-0599-4d2e-a9d6-90f10299b07d" xlink:to="loc_qlys_TimeBasedSharedBasedCompensationMember_624ecaba-4dc7-4934-a0a8-1e04f2e3bcd3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PerformanceSharesTrancheThreeMember_ace73ad2-2d3d-42f7-a79b-c5054614c842" xlink:href="qlys-20231231.xsd#qlys_PerformanceSharesTrancheThreeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_92290e13-0599-4d2e-a9d6-90f10299b07d" xlink:to="loc_qlys_PerformanceSharesTrancheThreeMember_ace73ad2-2d3d-42f7-a79b-c5054614c842" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_79d1813b-497b-4656-81e7-278ecf1faf49" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1edb2178-eb35-4b3f-ae80-2e63401617b7" xlink:to="loc_srt_RangeAxis_79d1813b-497b-4656-81e7-278ecf1faf49" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_79d1813b-497b-4656-81e7-278ecf1faf49_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_79d1813b-497b-4656-81e7-278ecf1faf49" xlink:to="loc_srt_RangeMember_79d1813b-497b-4656-81e7-278ecf1faf49_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_768671fb-d423-45ac-bfd0-0e2c4be3f5c1" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_79d1813b-497b-4656-81e7-278ecf1faf49" xlink:to="loc_srt_RangeMember_768671fb-d423-45ac-bfd0-0e2c4be3f5c1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_30ed74f7-fdf3-4e08-aa5a-15f8c6783c28" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_768671fb-d423-45ac-bfd0-0e2c4be3f5c1" xlink:to="loc_srt_MinimumMember_30ed74f7-fdf3-4e08-aa5a-15f8c6783c28" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_1a1371d7-07b7-4ee6-b9fa-490128993e6d" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_768671fb-d423-45ac-bfd0-0e2c4be3f5c1" xlink:to="loc_srt_MaximumMember_1a1371d7-07b7-4ee6-b9fa-490128993e6d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis_f255342a-2c7b-4f0a-ac34-270d3380f9eb" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1edb2178-eb35-4b3f-ae80-2e63401617b7" xlink:to="loc_srt_TitleOfIndividualAxis_f255342a-2c7b-4f0a-ac34-270d3380f9eb" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_f255342a-2c7b-4f0a-ac34-270d3380f9eb_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_TitleOfIndividualAxis_f255342a-2c7b-4f0a-ac34-270d3380f9eb" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_f255342a-2c7b-4f0a-ac34-270d3380f9eb_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_905a87af-8e9f-41d1-be3a-1914109a2cea" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_TitleOfIndividualAxis_f255342a-2c7b-4f0a-ac34-270d3380f9eb" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_905a87af-8e9f-41d1-be3a-1914109a2cea" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PresidentAndChiefExecutiveOfficerMember_4dece2a6-d970-4577-813a-c279994b8973" xlink:href="qlys-20231231.xsd#qlys_PresidentAndChiefExecutiveOfficerMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_905a87af-8e9f-41d1-be3a-1914109a2cea" xlink:to="loc_qlys_PresidentAndChiefExecutiveOfficerMember_4dece2a6-d970-4577-813a-c279994b8973" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ExecutiveOfficerMember_7cc603f8-6efe-48bd-a83a-bdbc06336fd1" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ExecutiveOfficerMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_905a87af-8e9f-41d1-be3a-1914109a2cea" xlink:to="loc_srt_ExecutiveOfficerMember_7cc603f8-6efe-48bd-a83a-bdbc06336fd1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_34860f23-99fb-4a44-b541-e8b46b7c983a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_34860f23-99fb-4a44-b541-e8b46b7c983a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods_c19bb2b2-0a97-4816-9f94-ffa5fb1d4ffd" xlink:href="qlys-20231231.xsd#qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods_c19bb2b2-0a97-4816-9f94-ffa5fb1d4ffd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_2095553e-46ec-4d1f-95ce-c1f5f42f24d3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_2095553e-46ec-4d1f-95ce-c1f5f42f24d3" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_e08b32f9-507b-44f3-97d2-40b954e58363" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_e08b32f9-507b-44f3-97d2-40b954e58363" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage_a8361200-58d0-4e72-a008-8909835160ac" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage_a8361200-58d0-4e72-a008-8909835160ac" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares_a614c080-8e59-48a0-b994-f1bbbd6b715b" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares_a614c080-8e59-48a0-b994-f1bbbd6b715b" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationTerminationPeriodTrigger_e8b5f83a-f0a0-44cd-a876-f476e78a869a" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationTerminationPeriodTrigger"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_qlys_SharebasedCompensationTerminationPeriodTrigger_e8b5f83a-f0a0-44cd-a876-f476e78a869a" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger_d9ce33c8-a212-44b4-ac6b-e82f052d8d80" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger_d9ce33c8-a212-44b4-ac6b-e82f052d8d80" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget_46f29900-3a65-4254-97f1-b79db5d999a3" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget_46f29900-3a65-4254-97f1-b79db5d999a3" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber_0b52e5cf-db2e-4a7c-b971-eebbc5fcf210" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber_0b52e5cf-db2e-4a7c-b971-eebbc5fcf210" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_fbcb6309-17c0-4a6e-a5d5-1f8e7d300a36" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_fbcb6309-17c0-4a6e-a5d5-1f8e7d300a36" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_f0e239ee-5f88-4c79-8830-b0dfc1a1956a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_f0e239ee-5f88-4c79-8830-b0dfc1a1956a" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_a0370942-20bc-4180-a63d-93925f82e6ac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_a0370942-20bc-4180-a63d-93925f82e6ac" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_4e21c74b-bcc5-4e69-be71-4ec800646656" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_4e21c74b-bcc5-4e69-be71-4ec800646656" xlink:type="arc" order="13"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee1bf5a5-3b63-4b50-bc37-7c117ca77613" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a317def1-976e-4b56-8f01-544e6bd50e0a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee1bf5a5-3b63-4b50-bc37-7c117ca77613" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a317def1-976e-4b56-8f01-544e6bd50e0a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_9456a0a6-ebab-4ba4-a177-42a272881293" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a317def1-976e-4b56-8f01-544e6bd50e0a" xlink:to="loc_srt_RangeAxis_9456a0a6-ebab-4ba4-a177-42a272881293" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_9456a0a6-ebab-4ba4-a177-42a272881293_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_9456a0a6-ebab-4ba4-a177-42a272881293" xlink:to="loc_srt_RangeMember_9456a0a6-ebab-4ba4-a177-42a272881293_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_7dfa2882-a039-4d70-ba64-82afbe2c0dc8" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_9456a0a6-ebab-4ba4-a177-42a272881293" xlink:to="loc_srt_RangeMember_7dfa2882-a039-4d70-ba64-82afbe2c0dc8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_548e09df-73e0-42fe-8b76-c37f5cb34d61" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_7dfa2882-a039-4d70-ba64-82afbe2c0dc8" xlink:to="loc_srt_MinimumMember_548e09df-73e0-42fe-8b76-c37f5cb34d61" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_5ff825b8-1ee9-494c-a322-1b06cd7ddb65" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_7dfa2882-a039-4d70-ba64-82afbe2c0dc8" xlink:to="loc_srt_MaximumMember_5ff825b8-1ee9-494c-a322-1b06cd7ddb65" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c983efb1-afdd-4801-a773-cd0309809210" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee1bf5a5-3b63-4b50-bc37-7c117ca77613" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c983efb1-afdd-4801-a773-cd0309809210" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_71e300fd-2087-4109-82a4-4c99d67ed340" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee1bf5a5-3b63-4b50-bc37-7c117ca77613" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_71e300fd-2087-4109-82a4-4c99d67ed340" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_2bf188ee-4b8a-455e-b770-e964afd9dc9b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee1bf5a5-3b63-4b50-bc37-7c117ca77613" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_2bf188ee-4b8a-455e-b770-e964afd9dc9b" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_44ac62d7-bfec-40eb-82c4-8af3ac30a878" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee1bf5a5-3b63-4b50-bc37-7c117ca77613" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_44ac62d7-bfec-40eb-82c4-8af3ac30a878" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_34840c02-19d1-4e3b-9e6e-6f33cf822fe0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee1bf5a5-3b63-4b50-bc37-7c117ca77613" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_34840c02-19d1-4e3b-9e6e-6f33cf822fe0" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_caae413b-0285-41bb-b17a-72f0792cfd85" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_c202cbf9-1005-4d9e-8433-5c9aa45a5e01" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_caae413b-0285-41bb-b17a-72f0792cfd85" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_c202cbf9-1005-4d9e-8433-5c9aa45a5e01" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_bfbdccfe-afc1-4043-b443-9256da468aff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_c202cbf9-1005-4d9e-8433-5c9aa45a5e01" xlink:to="loc_us-gaap_AwardTypeAxis_bfbdccfe-afc1-4043-b443-9256da468aff" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_bfbdccfe-afc1-4043-b443-9256da468aff_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_bfbdccfe-afc1-4043-b443-9256da468aff" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_bfbdccfe-afc1-4043-b443-9256da468aff_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2ce9cfa8-4671-4e1a-9dbe-40caed04b810" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_bfbdccfe-afc1-4043-b443-9256da468aff" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2ce9cfa8-4671-4e1a-9dbe-40caed04b810" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_8e297a78-5b97-4034-ab87-124c89e96510" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2ce9cfa8-4671-4e1a-9dbe-40caed04b810" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_8e297a78-5b97-4034-ab87-124c89e96510" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PerformanceBasedRestrictedStockUnitsMember_9406a5f1-0f2e-4e7c-a352-8578ea74c26e" xlink:href="qlys-20231231.xsd#qlys_PerformanceBasedRestrictedStockUnitsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2ce9cfa8-4671-4e1a-9dbe-40caed04b810" xlink:to="loc_qlys_PerformanceBasedRestrictedStockUnitsMember_9406a5f1-0f2e-4e7c-a352-8578ea74c26e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis_90c7a864-d042-4c06-aeaa-9fa55ca552d0" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_c202cbf9-1005-4d9e-8433-5c9aa45a5e01" xlink:to="loc_srt_TitleOfIndividualAxis_90c7a864-d042-4c06-aeaa-9fa55ca552d0" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_90c7a864-d042-4c06-aeaa-9fa55ca552d0_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_TitleOfIndividualAxis_90c7a864-d042-4c06-aeaa-9fa55ca552d0" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_90c7a864-d042-4c06-aeaa-9fa55ca552d0_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_d1423b78-bfde-41a3-aacc-aac0fe819d88" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_TitleOfIndividualAxis_90c7a864-d042-4c06-aeaa-9fa55ca552d0" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_d1423b78-bfde-41a3-aacc-aac0fe819d88" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ExecutiveOfficer1Member_70641618-c350-40dc-ab59-ce1ac6a420d1" xlink:href="qlys-20231231.xsd#qlys_ExecutiveOfficer1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_d1423b78-bfde-41a3-aacc-aac0fe819d88" xlink:to="loc_qlys_ExecutiveOfficer1Member_70641618-c350-40dc-ab59-ce1ac6a420d1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ExecutiveOfficerMember_d4d3283e-2daf-45d9-b006-908423f86907" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ExecutiveOfficerMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_d1423b78-bfde-41a3-aacc-aac0fe819d88" xlink:to="loc_srt_ExecutiveOfficerMember_d4d3283e-2daf-45d9-b006-908423f86907" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ExecutiveOfficer2Member_2e4f7b9a-31b2-4f4a-a853-c8065b38788e" xlink:href="qlys-20231231.xsd#qlys_ExecutiveOfficer2Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_d1423b78-bfde-41a3-aacc-aac0fe819d88" xlink:to="loc_qlys_ExecutiveOfficer2Member_2e4f7b9a-31b2-4f4a-a853-c8065b38788e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ExecutiveOfficer3Member_1ccc97ea-77f0-48fc-838a-ae7df06cc60c" xlink:href="qlys-20231231.xsd#qlys_ExecutiveOfficer3Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_d1423b78-bfde-41a3-aacc-aac0fe819d88" xlink:to="loc_qlys_ExecutiveOfficer3Member_1ccc97ea-77f0-48fc-838a-ae7df06cc60c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ExecutiveOfficer4Member_e35fb761-c34d-4c01-910b-16e19b836ead" xlink:href="qlys-20231231.xsd#qlys_ExecutiveOfficer4Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_d1423b78-bfde-41a3-aacc-aac0fe819d88" xlink:to="loc_qlys_ExecutiveOfficer4Member_e35fb761-c34d-4c01-910b-16e19b836ead" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_ee2f36eb-efc8-41ab-a365-07e9f3b730eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_caae413b-0285-41bb-b17a-72f0792cfd85" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_ee2f36eb-efc8-41ab-a365-07e9f3b730eb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_ee658ec2-1893-41b8-bb53-cd4bd7db6674" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_ee2f36eb-efc8-41ab-a365-07e9f3b730eb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_ee658ec2-1893-41b8-bb53-cd4bd7db6674" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_31658827-8c9d-492c-8047-183ecb4d355e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_ee2f36eb-efc8-41ab-a365-07e9f3b730eb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_31658827-8c9d-492c-8047-183ecb4d355e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_c880de27-8a24-4990-9138-4d4d0bf6b9dc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_ee2f36eb-efc8-41ab-a365-07e9f3b730eb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_c880de27-8a24-4990-9138-4d4d0bf6b9dc" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_40fb6262-eff0-4a92-963b-ff1147f67017" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_ee2f36eb-efc8-41ab-a365-07e9f3b730eb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_40fb6262-eff0-4a92-963b-ff1147f67017" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_cde76b68-2f9f-4fde-a6c5-942ae2e93a1b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber_64d32756-6725-4dad-b06f-9931940b4b6f" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_caae413b-0285-41bb-b17a-72f0792cfd85" xlink:to="loc_qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber_64d32756-6725-4dad-b06f-9931940b4b6f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_f18c9929-aa57-4c68-8f5e-482ce06bf228" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_caae413b-0285-41bb-b17a-72f0792cfd85" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_f18c9929-aa57-4c68-8f5e-482ce06bf228" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_0f397f59-9907-481f-ba0c-fe9eaa9efc40" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_f18c9929-aa57-4c68-8f5e-482ce06bf228" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_0f397f59-9907-481f-ba0c-fe9eaa9efc40" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c17262dd-aa94-455a-bfbf-a603470c3019" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_f18c9929-aa57-4c68-8f5e-482ce06bf228" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c17262dd-aa94-455a-bfbf-a603470c3019" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_5feabc71-1262-44c8-982e-36c69c383341" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_f18c9929-aa57-4c68-8f5e-482ce06bf228" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_5feabc71-1262-44c8-982e-36c69c383341" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_4ea38ef0-62f9-405c-ae1e-ead4b13aec16" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_f18c9929-aa57-4c68-8f5e-482ce06bf228" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_4ea38ef0-62f9-405c-ae1e-ead4b13aec16" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_c4db998e-5171-4f1e-a583-ac5a724ce4fe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_f91868ed-7798-48f2-a7ed-b1b5079c4df5" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_caae413b-0285-41bb-b17a-72f0792cfd85" xlink:to="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_f91868ed-7798-48f2-a7ed-b1b5079c4df5" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d116b39b-22d2-45df-96dc-91d14a7337c8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_9fce46d4-58e9-4edd-92be-425245f6df8c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d116b39b-22d2-45df-96dc-91d14a7337c8" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_9fce46d4-58e9-4edd-92be-425245f6df8c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_446d7e6a-ed87-4e8c-947f-2a20225910e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_9fce46d4-58e9-4edd-92be-425245f6df8c" xlink:to="loc_us-gaap_AwardTypeAxis_446d7e6a-ed87-4e8c-947f-2a20225910e6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_446d7e6a-ed87-4e8c-947f-2a20225910e6_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_446d7e6a-ed87-4e8c-947f-2a20225910e6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_446d7e6a-ed87-4e8c-947f-2a20225910e6_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a6be0584-a3c4-48d0-9b02-085e698b2373" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_446d7e6a-ed87-4e8c-947f-2a20225910e6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a6be0584-a3c4-48d0-9b02-085e698b2373" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_be92d43e-109c-4040-b723-abf05f93fe38" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a6be0584-a3c4-48d0-9b02-085e698b2373" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_be92d43e-109c-4040-b723-abf05f93fe38" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_68158b96-bbff-4f1a-b1b4-cd82b4617daa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d116b39b-22d2-45df-96dc-91d14a7337c8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_68158b96-bbff-4f1a-b1b4-cd82b4617daa" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_6b12899f-2d7a-4c24-83f8-b6f6458c7a7e" xlink:href="qlys-20231231.xsd#qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d116b39b-22d2-45df-96dc-91d14a7337c8" xlink:to="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_6b12899f-2d7a-4c24-83f8-b6f6458c7a7e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions_3eb851ee-162f-483d-b59c-d2f4908639b4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d116b39b-22d2-45df-96dc-91d14a7337c8" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions_3eb851ee-162f-483d-b59c-d2f4908639b4" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_7ae5585b-b521-46f1-8b4b-f35916668dcf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_7ae5585b-b521-46f1-8b4b-f35916668dcf" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_d4550b2f-99fb-4ed2-81e2-1529172dc1c7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_7ae5585b-b521-46f1-8b4b-f35916668dcf" xlink:to="loc_us-gaap_PlanNameAxis_d4550b2f-99fb-4ed2-81e2-1529172dc1c7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_d4550b2f-99fb-4ed2-81e2-1529172dc1c7_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_d4550b2f-99fb-4ed2-81e2-1529172dc1c7" xlink:to="loc_us-gaap_PlanNameDomain_d4550b2f-99fb-4ed2-81e2-1529172dc1c7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_f1d6a899-2f5a-417b-9716-2df52523972f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_d4550b2f-99fb-4ed2-81e2-1529172dc1c7" xlink:to="loc_us-gaap_PlanNameDomain_f1d6a899-2f5a-417b-9716-2df52523972f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_The2021EmployeeStockPurchasePlanMember_70881802-872a-4bc7-b8a8-67fe8253e621" xlink:href="qlys-20231231.xsd#qlys_The2021EmployeeStockPurchasePlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_f1d6a899-2f5a-417b-9716-2df52523972f" xlink:to="loc_qlys_The2021EmployeeStockPurchasePlanMember_70881802-872a-4bc7-b8a8-67fe8253e621" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_cd1a6a9a-99fa-4416-ae0b-bbf22e72315a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_cd1a6a9a-99fa-4416-ae0b-bbf22e72315a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_7bf04d95-6699-4e0e-b1ac-60f0d56108c2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_7bf04d95-6699-4e0e-b1ac-60f0d56108c2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_8a04979b-8dec-41c2-9d99-398fee3be45f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_8a04979b-8dec-41c2-9d99-398fee3be45f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_e6112b05-a320-44b2-8afd-2db83833a466" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_e6112b05-a320-44b2-8afd-2db83833a466" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_4c9e4ed9-e91d-4713-968b-246998622c11" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_4c9e4ed9-e91d-4713-968b-246998622c11" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_691bb6d4-4985-4323-95af-a37a9573e0c8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_691bb6d4-4985-4323-95af-a37a9573e0c8" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_e30a57cf-6cd5-4d9e-b9bb-382a8490ad9f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_e30a57cf-6cd5-4d9e-b9bb-382a8490ad9f" xlink:type="arc" order="6"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_67861f47-f4ff-432e-ab65-ea60799dcdd1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bbe5679c-1748-480c-a386-187b98eb26a5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_67861f47-f4ff-432e-ab65-ea60799dcdd1" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bbe5679c-1748-480c-a386-187b98eb26a5" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_3c289ebe-73dc-47f5-86c5-749d2e3ccbad" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bbe5679c-1748-480c-a386-187b98eb26a5" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_3c289ebe-73dc-47f5-86c5-749d2e3ccbad" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_3c289ebe-73dc-47f5-86c5-749d2e3ccbad_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_3c289ebe-73dc-47f5-86c5-749d2e3ccbad" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_3c289ebe-73dc-47f5-86c5-749d2e3ccbad_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_14073608-def8-4d72-9e14-5376c884e43b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_3c289ebe-73dc-47f5-86c5-749d2e3ccbad" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_14073608-def8-4d72-9e14-5376c884e43b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember_80b16d3b-94e7-4004-bbfe-d786cfeedc4f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_14073608-def8-4d72-9e14-5376c884e43b" xlink:to="loc_us-gaap_SubsequentEventMember_80b16d3b-94e7-4004-bbfe-d786cfeedc4f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_StockRepurchaseProgramAdditionalAuthorizedAmount_93d59ca1-9e23-481c-acd5-58de680727bb" xlink:href="qlys-20231231.xsd#qlys_StockRepurchaseProgramAdditionalAuthorizedAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_67861f47-f4ff-432e-ab65-ea60799dcdd1" xlink:to="loc_qlys_StockRepurchaseProgramAdditionalAuthorizedAmount_93d59ca1-9e23-481c-acd5-58de680727bb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_2f2bdbbe-3a43-4f4e-b23d-929edc3de292" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_67861f47-f4ff-432e-ab65-ea60799dcdd1" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_2f2bdbbe-3a43-4f4e-b23d-929edc3de292" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_a36bbe51-dcfc-4028-a5ae-b2e9f0c90623" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_67861f47-f4ff-432e-ab65-ea60799dcdd1" xlink:to="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_a36bbe51-dcfc-4028-a5ae-b2e9f0c90623" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_18744a53-6d76-4e79-baf5-6bf1b38db738" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_67861f47-f4ff-432e-ab65-ea60799dcdd1" xlink:to="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_18744a53-6d76-4e79-baf5-6bf1b38db738" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_a4a6e84d-1971-4407-b639-d850ca7a532d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_67861f47-f4ff-432e-ab65-ea60799dcdd1" xlink:to="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_a4a6e84d-1971-4407-b639-d850ca7a532d" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IncomeTaxesNarrativeDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#IncomeTaxesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/IncomeTaxesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems_71edd982-8e64-46e5-a883-37c09b4a4b9e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyTable_9d4b0c54-aa75-4613-ac85-cb7e3880010f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_71edd982-8e64-46e5-a883-37c09b4a4b9e" xlink:to="loc_us-gaap_IncomeTaxContingencyTable_9d4b0c54-aa75-4613-ac85-cb7e3880010f" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_7f6cd6cc-69ba-45e2-afb6-c2907dcc0cde" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_9d4b0c54-aa75-4613-ac85-cb7e3880010f" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_7f6cd6cc-69ba-45e2-afb6-c2907dcc0cde" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_7f6cd6cc-69ba-45e2-afb6-c2907dcc0cde_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_7f6cd6cc-69ba-45e2-afb6-c2907dcc0cde" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_7f6cd6cc-69ba-45e2-afb6-c2907dcc0cde_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_99a3d707-c8e9-4f6e-8131-d528d9cc5456" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_7f6cd6cc-69ba-45e2-afb6-c2907dcc0cde" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_99a3d707-c8e9-4f6e-8131-d528d9cc5456" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCountryMember_0222697d-9503-4fab-ad8d-89040d39b4cc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCountryMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_99a3d707-c8e9-4f6e-8131-d528d9cc5456" xlink:to="loc_us-gaap_ForeignCountryMember_0222697d-9503-4fab-ad8d-89040d39b4cc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_a82bfb2c-d743-4d87-9562-7331eec875d4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_71edd982-8e64-46e5-a883-37c09b4a4b9e" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_a82bfb2c-d743-4d87-9562-7331eec875d4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards_cf92bd37-1235-4cb3-9656-7a94c9559879" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_71edd982-8e64-46e5-a883-37c09b4a4b9e" xlink:to="loc_us-gaap_OperatingLossCarryforwards_cf92bd37-1235-4cb3-9656-7a94c9559879" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardAmount_8a3c4352-82a3-4b5e-a5d5-e772e706729a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_71edd982-8e64-46e5-a883-37c09b4a4b9e" xlink:to="loc_us-gaap_TaxCreditCarryforwardAmount_8a3c4352-82a3-4b5e-a5d5-e772e706729a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_cbf9c910-e7c1-4b0e-a747-d920ca8c12e0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_71edd982-8e64-46e5-a883-37c09b4a4b9e" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_cbf9c910-e7c1-4b0e-a747-d920ca8c12e0" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_719c0aeb-2156-496b-97ad-76007bb7c43a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_20ddc702-186e-40a7-948b-cb8f1226c174" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_719c0aeb-2156-496b-97ad-76007bb7c43a" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_20ddc702-186e-40a7-948b-cb8f1226c174" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_f944feeb-1fa1-4d13-949b-a9e45f313c5a" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_20ddc702-186e-40a7-948b-cb8f1226c174" xlink:to="loc_srt_StatementGeographicalAxis_f944feeb-1fa1-4d13-949b-a9e45f313c5a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_f944feeb-1fa1-4d13-949b-a9e45f313c5a_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_f944feeb-1fa1-4d13-949b-a9e45f313c5a" xlink:to="loc_srt_SegmentGeographicalDomain_f944feeb-1fa1-4d13-949b-a9e45f313c5a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_cc3772ba-27f4-445e-9a74-74f0ae313dea" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_f944feeb-1fa1-4d13-949b-a9e45f313c5a" xlink:to="loc_srt_SegmentGeographicalDomain_cc3772ba-27f4-445e-9a74-74f0ae313dea" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_6cf10fbf-ef39-460d-a33a-4be680b93b68" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_cc3772ba-27f4-445e-9a74-74f0ae313dea" xlink:to="loc_country_US_6cf10fbf-ef39-460d-a33a-4be680b93b68" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonUsMember_7f22cf63-8dfe-4d7b-bcc5-2d1a9daaabe7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_cc3772ba-27f4-445e-9a74-74f0ae313dea" xlink:to="loc_us-gaap_NonUsMember_7f22cf63-8dfe-4d7b-bcc5-2d1a9daaabe7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_IN_16fe7aca-c626-4e36-af29-9a785296a323" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_IN"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_cc3772ba-27f4-445e-9a74-74f0ae313dea" xlink:to="loc_country_IN_16fe7aca-c626-4e36-af29-9a785296a323" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_OtherGeographicAreasMember_a0f3185b-7d6f-467e-930e-c930db299580" xlink:href="qlys-20231231.xsd#qlys_OtherGeographicAreasMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_cc3772ba-27f4-445e-9a74-74f0ae313dea" xlink:to="loc_qlys_OtherGeographicAreasMember_a0f3185b-7d6f-467e-930e-c930db299580" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_48e37759-67d1-4d46-8299-c70513650dbe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_719c0aeb-2156-496b-97ad-76007bb7c43a" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_48e37759-67d1-4d46-8299-c70513650dbe" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets_ccf719fa-7e10-451b-b70a-d72cf793ce96" xlink:href="qlys-20231231.xsd#qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_719c0aeb-2156-496b-97ad-76007bb7c43a" xlink:to="loc_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets_ccf719fa-7e10-451b-b70a-d72cf793ce96" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#NetIncomePerShareAntidilutiveNetIncomePerShareDetails"/>
  <link:definitionLink xlink:role="http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_972076e9-d220-48df-bd0b-0be6c29596f4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_855f1527-14ae-4d68-96e8-d10732c93162" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_972076e9-d220-48df-bd0b-0be6c29596f4" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_855f1527-14ae-4d68-96e8-d10732c93162" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_8f00708e-bffb-437a-af0d-3f7b04ae87af" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_855f1527-14ae-4d68-96e8-d10732c93162" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_8f00708e-bffb-437a-af0d-3f7b04ae87af" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_8f00708e-bffb-437a-af0d-3f7b04ae87af_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_8f00708e-bffb-437a-af0d-3f7b04ae87af" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_8f00708e-bffb-437a-af0d-3f7b04ae87af_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4fe63969-572c-4fdf-b47d-8a7866fe5928" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_8f00708e-bffb-437a-af0d-3f7b04ae87af" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4fe63969-572c-4fdf-b47d-8a7866fe5928" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_74b6c569-6875-482a-9170-24ea71a538d8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4fe63969-572c-4fdf-b47d-8a7866fe5928" xlink:to="loc_us-gaap_EmployeeStockOptionMember_74b6c569-6875-482a-9170-24ea71a538d8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_53e5d251-490f-4307-acfd-771661ee5a75" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4fe63969-572c-4fdf-b47d-8a7866fe5928" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_53e5d251-490f-4307-acfd-771661ee5a75" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_EmployeeStockPurchasePlanSharesMember_1e264345-a767-4360-9104-e9a47baebce8" xlink:href="qlys-20231231.xsd#qlys_EmployeeStockPurchasePlanSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4fe63969-572c-4fdf-b47d-8a7866fe5928" xlink:to="loc_qlys_EmployeeStockPurchasePlanSharesMember_1e264345-a767-4360-9104-e9a47baebce8" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_7a9f593f-a100-4493-92d3-c7b18e423734" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_972076e9-d220-48df-bd0b-0be6c29596f4" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_7a9f593f-a100-4493-92d3-c7b18e423734" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/AwardTypeOnly" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#AwardTypeOnly"/>
  <link:definitionLink xlink:role="http://xbrl.sec.gov/ecd/AwardTypeOnly" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PerformanceBasedRestrictedStockUnitsMember_176f40ca-6164-4fc8-852a-b24f3340e6ce" xlink:href="qlys-20231231.xsd#qlys_PerformanceBasedRestrictedStockUnitsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_qlys_PerformanceBasedRestrictedStockUnitsMember_176f40ca-6164-4fc8-852a-b24f3340e6ce" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ESPPSharesMember_b0835af7-626e-450b-82ef-3bf76dd99e45" xlink:href="qlys-20231231.xsd#qlys_ESPPSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_qlys_ESPPSharesMember_b0835af7-626e-450b-82ef-3bf76dd99e45" xlink:type="arc" order="6"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/IndividualsOnly" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#IndividualsOnly"/>
  <link:definitionLink xlink:role="http://xbrl.sec.gov/ecd/role/IndividualsOnly" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_JeffreyHankMember_a8562b16-c886-4a21-bca6-7f1b1f20a700" xlink:href="qlys-20231231.xsd#qlys_JeffreyHankMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_ecd_AllIndividualsMember" xlink:to="loc_qlys_JeffreyHankMember_a8562b16-c886-4a21-bca6-7f1b1f20a700" xlink:type="arc" order="2"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>13
<FILENAME>qlys-20231231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:f4ea1f53-8015-46e0-94c5-3054ac171407,g:ad08069b-edd9-4caa-93e6-69d8513fda7d-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits_ce7fa460-d02e-4499-8c48-8c23c9732782_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Taxes and Tax Credits</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:to="lab_us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockAppreciationRightsSARSMember_terseLabel_en-US" xlink:label="lab_us-gaap_StockAppreciationRightsSARSMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Appreciation Rights (SARs)</link:label>
    <link:label id="lab_us-gaap_StockAppreciationRightsSARSMember_label_en-US" xlink:label="lab_us-gaap_StockAppreciationRightsSARSMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Appreciation Rights (SARs) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockAppreciationRightsSARSMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockAppreciationRightsSARSMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockAppreciationRightsSARSMember" xlink:to="lab_us-gaap_StockAppreciationRightsSARSMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PayVsPerformanceDisclosureLineItems_label_en-US" xlink:label="lab_ecd_PayVsPerformanceDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pay vs Performance Disclosure [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PayVsPerformanceDisclosureLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="lab_ecd_PayVsPerformanceDisclosureLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease_64d26be7-4757-4237-a569-bc7fe8a176c6_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares added to plan (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Other Share Increase (Decrease)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityVoluntaryFilers_72db910b-77b4-488b-8af3-65c8088bc160_terseLabel_en-US" xlink:label="lab_dei_EntityVoluntaryFilers" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:label id="lab_dei_EntityVoluntaryFilers_label_en-US" xlink:label="lab_dei_EntityVoluntaryFilers" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityVoluntaryFilers" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityVoluntaryFilers" xlink:to="lab_dei_EntityVoluntaryFilers" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_PaymentsToAcquireMaturitiesOfNotesReceivable_ecc2e850-9bd8-4a96-a9c3-f4d2c1a02d64_negatedLabel_en-US" xlink:label="lab_qlys_PaymentsToAcquireMaturitiesOfNotesReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maturity of note receivable</link:label>
    <link:label id="lab_qlys_PaymentsToAcquireMaturitiesOfNotesReceivable_label_en-US" xlink:label="lab_qlys_PaymentsToAcquireMaturitiesOfNotesReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">qlys_PaymentsToAcquireMaturitiesOfNotesReceivable</link:label>
    <link:label id="lab_qlys_PaymentsToAcquireMaturitiesOfNotesReceivable_documentation_en-US" xlink:label="lab_qlys_PaymentsToAcquireMaturitiesOfNotesReceivable" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">The amount of cash outflow (inflow) from the acquisition and maturities of notes receivable.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PaymentsToAcquireMaturitiesOfNotesReceivable" xlink:href="qlys-20231231.xsd#qlys_PaymentsToAcquireMaturitiesOfNotesReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_PaymentsToAcquireMaturitiesOfNotesReceivable" xlink:to="lab_qlys_PaymentsToAcquireMaturitiesOfNotesReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_6a98bfc9-d578-43f3-b82f-5e1b36c4f39b_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued liabilities</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PledgingPurposeDomain_9451633c-edf0-4375-8131-ccba9fb8884a_terseLabel_en-US" xlink:label="lab_us-gaap_PledgingPurposeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pledging Purpose [Domain]</link:label>
    <link:label id="lab_us-gaap_PledgingPurposeDomain_label_en-US" xlink:label="lab_us-gaap_PledgingPurposeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pledging Purpose [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PledgingPurposeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PledgingPurposeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PledgingPurposeDomain" xlink:to="lab_us-gaap_PledgingPurposeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeMember_6706614d-8f91-48c4-b931-9495bd1fbc20_terseLabel_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:label id="lab_srt_RangeMember_label_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeMember" xlink:to="lab_srt_RangeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_1370d23f-9e71-4d01-9477-b43562c6a61c_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and development</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_16ec4927-c95c-4fe9-878a-6f84a79973e3_negatedLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and development</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_2eac8922-cd04-450f-be2d-2f9adbbafba4_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes in operating assets and liabilities:</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_UndrlygSecurityMktPriceChngPct_terseLabel_en-US" xlink:label="lab_ecd_UndrlygSecurityMktPriceChngPct" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Underlying Security Market Price Change</link:label>
    <link:label id="lab_ecd_UndrlygSecurityMktPriceChngPct_label_en-US" xlink:label="lab_ecd_UndrlygSecurityMktPriceChngPct" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Underlying Security Market Price Change, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_UndrlygSecurityMktPriceChngPct" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_UndrlygSecurityMktPriceChngPct"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_UndrlygSecurityMktPriceChngPct" xlink:to="lab_ecd_UndrlygSecurityMktPriceChngPct" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_76caa15e-9957-4830-b9e8-79419674446b_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expiration period, term</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_ForeignGovernmentAgenciesMember_90be9110-d6d9-4ed8-9af8-9357bd1e979f_terseLabel_en-US" xlink:label="lab_qlys_ForeignGovernmentAgenciesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign government</link:label>
    <link:label id="lab_qlys_ForeignGovernmentAgenciesMember_label_en-US" xlink:label="lab_qlys_ForeignGovernmentAgenciesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Government Agencies [Member]</link:label>
    <link:label id="lab_qlys_ForeignGovernmentAgenciesMember_documentation_en-US" xlink:label="lab_qlys_ForeignGovernmentAgenciesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Information related to foreign government agencies.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ForeignGovernmentAgenciesMember" xlink:href="qlys-20231231.xsd#qlys_ForeignGovernmentAgenciesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_ForeignGovernmentAgenciesMember" xlink:to="lab_qlys_ForeignGovernmentAgenciesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_TimeBasedSharedBasedCompensationMember_fb71e090-9b5e-4cce-b48b-f6873cc56dde_terseLabel_en-US" xlink:label="lab_qlys_TimeBasedSharedBasedCompensationMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Time based Shared Based Compensation</link:label>
    <link:label id="lab_qlys_TimeBasedSharedBasedCompensationMember_label_en-US" xlink:label="lab_qlys_TimeBasedSharedBasedCompensationMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Time based Shared Based Compensation [Member]</link:label>
    <link:label id="lab_qlys_TimeBasedSharedBasedCompensationMember_documentation_en-US" xlink:label="lab_qlys_TimeBasedSharedBasedCompensationMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents information related to time based share based compensation.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_TimeBasedSharedBasedCompensationMember" xlink:href="qlys-20231231.xsd#qlys_TimeBasedSharedBasedCompensationMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_TimeBasedSharedBasedCompensationMember" xlink:to="lab_qlys_TimeBasedSharedBasedCompensationMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_4adca666-8204-4bf9-aa0a-239daee178e2_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardGrantDateFairValue_terseLabel_en-US" xlink:label="lab_ecd_AwardGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value as of Grant Date</link:label>
    <link:label id="lab_ecd_AwardGrantDateFairValue_label_en-US" xlink:label="lab_ecd_AwardGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardGrantDateFairValue" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardGrantDateFairValue" xlink:to="lab_ecd_AwardGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_48b1b762-28fc-4d7c-947d-5b8f21665a91_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, remaining performance obligation</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_698333cc-42a4-416d-9698-d06f24f84ea7_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_290aa276-5dc0-4a37-a8ca-7cb6acd27c2b_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_1a59602c-66d2-43ec-883f-f4af8ce284e4_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding_3c267f84-a45c-4ae4-86b2-44e5f97fe45a_terseLabel_en-US" xlink:label="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Authorized annual increase, percentage</link:label>
    <link:label id="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding_label_en-US" xlink:label="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement By Share-based Payment Award, Number Of Shares Authorized Annual Increase, Percent Of Shares Outstanding</link:label>
    <link:label id="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding_documentation_en-US" xlink:label="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents percentage of shares outstanding for member of shares authorized for shared-based compensation arrangement by share-based compensation.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding" xlink:href="qlys-20231231.xsd#qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding" xlink:to="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OffsettingAssetsTable_14405059-2d69-4330-9d74-248e54eab84d_terseLabel_en-US" xlink:label="lab_us-gaap_OffsettingAssetsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Offsetting Assets [Table]</link:label>
    <link:label id="lab_us-gaap_OffsettingAssetsTable_label_en-US" xlink:label="lab_us-gaap_OffsettingAssetsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Offsetting Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OffsettingAssetsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OffsettingAssetsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OffsettingAssetsTable" xlink:to="lab_us-gaap_OffsettingAssetsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesGross_68a9d831-f033-40a9-b646-ce7128522bcf_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesGross" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of intangible assets</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesGross_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Businesses, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireBusinessesGross" xlink:to="lab_us-gaap_PaymentsToAcquireBusinessesGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_fd41d7dc-7339-4c88-8f82-e287eec4e0fe_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contribution amount</link:label>
    <link:label id="lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_label_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Contribution Plan, Employer Discretionary Contribution Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:to="lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_MnpiDiscTimedForCompValFlag_terseLabel_en-US" xlink:label="lab_ecd_MnpiDiscTimedForCompValFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MNPI Disclosure Timed for Compensation Value</link:label>
    <link:label id="lab_ecd_MnpiDiscTimedForCompValFlag_label_en-US" xlink:label="lab_ecd_MnpiDiscTimedForCompValFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MNPI Disclosure Timed for Compensation Value [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MnpiDiscTimedForCompValFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MnpiDiscTimedForCompValFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_MnpiDiscTimedForCompValFlag" xlink:to="lab_ecd_MnpiDiscTimedForCompValFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_StockRepurchaseProgramRollForward_1937a2ac-fd37-4bd3-a0d0-5ec799019660_terseLabel_en-US" xlink:label="lab_qlys_StockRepurchaseProgramRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Authorized Dollar Value</link:label>
    <link:label id="lab_qlys_StockRepurchaseProgramRollForward_label_en-US" xlink:label="lab_qlys_StockRepurchaseProgramRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program [Roll Forward]</link:label>
    <link:label id="lab_qlys_StockRepurchaseProgramRollForward_documentation_en-US" xlink:label="lab_qlys_StockRepurchaseProgramRollForward" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_StockRepurchaseProgramRollForward" xlink:href="qlys-20231231.xsd#qlys_StockRepurchaseProgramRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_StockRepurchaseProgramRollForward" xlink:to="lab_qlys_StockRepurchaseProgramRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_a0c101e2-b895-452a-9b75-2369340cf1f3_negatedLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign-derived intangible income deduction</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, FDII, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_label_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingAbstract" xlink:to="lab_us-gaap_SegmentReportingAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_c632819f-6f88-4761-96e6-abc8f31959cc_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent" xlink:to="lab_us-gaap_AccountsPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComputerEquipmentMember_da943770-c16e-48a7-bf5b-14522e9c3d77_terseLabel_en-US" xlink:label="lab_us-gaap_ComputerEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Computer equipment</link:label>
    <link:label id="lab_us-gaap_ComputerEquipmentMember_label_en-US" xlink:label="lab_us-gaap_ComputerEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Computer Equipment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComputerEquipmentMember" xlink:to="lab_us-gaap_ComputerEquipmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue_a89af018-34cb-4971-9589-7e53fcdf822c_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset-backed securities</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Maturity, without Single Maturity Date, Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_RestatementDateAxis_terseLabel_en-US" xlink:label="lab_ecd_RestatementDateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restatement Determination Date:</link:label>
    <link:label id="lab_ecd_RestatementDateAxis_label_en-US" xlink:label="lab_ecd_RestatementDateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restatement Determination Date [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDateAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_RestatementDateAxis" xlink:to="lab_ecd_RestatementDateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostImpairmentLoss_408f2597-7d01-491b-b575-12aa061e4f08_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment loss</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostImpairmentLoss_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Impairment Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostImpairmentLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostImpairmentLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostImpairmentLoss" xlink:to="lab_us-gaap_CapitalizedContractCostImpairmentLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_7cc7f9b6-3950-4bf1-856d-378139dc13cb_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CorporateDebtSecuritiesMember_a56e4404-a660-4d82-8f0b-71d05ebf6a7b_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateDebtSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate bonds</link:label>
    <link:label id="lab_us-gaap_CorporateDebtSecuritiesMember_label_en-US" xlink:label="lab_us-gaap_CorporateDebtSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate Debt Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateDebtSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateDebtSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CorporateDebtSecuritiesMember" xlink:to="lab_us-gaap_CorporateDebtSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NonoperatingIncomeExpense_9ad86cd2-56ff-4b50-94db-fbe612bee9a1_totalLabel_en-US" xlink:label="lab_us-gaap_NonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total other income, net</link:label>
    <link:label id="lab_us-gaap_NonoperatingIncomeExpense_label_en-US" xlink:label="lab_us-gaap_NonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nonoperating Income (Expense)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonoperatingIncomeExpense" xlink:to="lab_us-gaap_NonoperatingIncomeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_f83a7705-c126-4498-afa4-2fdf7fcfd3b7_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal statutory rate</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets_897aef03-a4d5-4c50-8647-368e59b269fe_terseLabel_en-US" xlink:label="lab_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Long-lived Assets</link:label>
    <link:label id="lab_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets_label_en-US" xlink:label="lab_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, net and Operating leases - right of use asset</link:label>
    <link:label id="lab_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets_documentation_en-US" xlink:label="lab_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale and right-of-use assets under operating leases.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets" xlink:href="qlys-20231231.xsd#qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets" xlink:to="lab_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingencies_03e89198-7704-44e3-9bb4-79ba74fe8375_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingencies" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and contingencies (Note 9)</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingencies_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingencies" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingencies" xlink:to="lab_us-gaap_CommitmentsAndContingencies" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_InsiderTradingPoliciesProcLineItems_label_en-US" xlink:label="lab_ecd_InsiderTradingPoliciesProcLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Insider Trading Policies and Procedures [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTradingPoliciesProcLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingPoliciesProcLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_InsiderTradingPoliciesProcLineItems" xlink:to="lab_ecd_InsiderTradingPoliciesProcLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetImpairmentCharges_216a95e5-0f9f-4525-af99-4f0777784969_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetImpairmentCharges" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Write off of noncurrent asset</link:label>
    <link:label id="lab_us-gaap_OtherAssetImpairmentCharges_label_en-US" xlink:label="lab_us-gaap_OtherAssetImpairmentCharges" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Asset Impairment Charges</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetImpairmentCharges" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetImpairmentCharges"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetImpairmentCharges" xlink:to="lab_us-gaap_OtherAssetImpairmentCharges" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_Rule10b51ArrTrmntdFlag_terseLabel_en-US" xlink:label="lab_ecd_Rule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rule 10b5-1 Arrangement Terminated</link:label>
    <link:label id="lab_ecd_Rule10b51ArrTrmntdFlag_label_en-US" xlink:label="lab_ecd_Rule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rule 10b5-1 Arrangement Terminated [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Rule10b51ArrTrmntdFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrTrmntdFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_Rule10b51ArrTrmntdFlag" xlink:to="lab_ecd_Rule10b51ArrTrmntdFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_AssembledWorkforceMember_152d9b70-81cf-4d89-bfff-988a50122f26_terseLabel_en-US" xlink:label="lab_qlys_AssembledWorkforceMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assembled workforce</link:label>
    <link:label id="lab_qlys_AssembledWorkforceMember_label_en-US" xlink:label="lab_qlys_AssembledWorkforceMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assembled Workforce [Member]</link:label>
    <link:label id="lab_qlys_AssembledWorkforceMember_documentation_en-US" xlink:label="lab_qlys_AssembledWorkforceMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents Assembled Workforce.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssembledWorkforceMember" xlink:href="qlys-20231231.xsd#qlys_AssembledWorkforceMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_AssembledWorkforceMember" xlink:to="lab_qlys_AssembledWorkforceMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_11999d46-60b3-4891-805a-b497b6749e16_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2028</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod_2901060a-2f94-453c-b68f-c29c999a9f9e_terseLabel_en-US" xlink:label="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance period</link:label>
    <link:label id="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod_label_en-US" xlink:label="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Performance Period</link:label>
    <link:label id="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod_documentation_en-US" xlink:label="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Performance Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod" xlink:href="qlys-20231231.xsd#qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod" xlink:to="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_RestatementDoesNotRequireRecoveryTextBlock_terseLabel_en-US" xlink:label="lab_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restatement does not require Recovery</link:label>
    <link:label id="lab_ecd_RestatementDoesNotRequireRecoveryTextBlock_label_en-US" xlink:label="lab_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restatement Does Not Require Recovery [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDoesNotRequireRecoveryTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:to="lab_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_80d98452-e938-4581-a617-3ef7e2bad17e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested and expected to vest as of December 31, 2023</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_38090935-fe81-4471-8598-084499e144b2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfCommonStock_57ef8f0f-6f56-467f-ae88-6fc38b191c47_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from issuance of common stock through employee stock purchase plan</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfCommonStock_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Issuance of Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_95f3c7ae-0e16-4d6d-9da5-d375cb958307_terseLabel_en-US" xlink:label="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Offering period, months</link:label>
    <link:label id="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_label_en-US" xlink:label="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement By Share-based Payment, Award Offering Period</link:label>
    <link:label id="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_documentation_en-US" xlink:label="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents the offering period under a share-based payment arrangement.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" xlink:href="qlys-20231231.xsd#qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" xlink:to="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_StatementGeographicalAxis_a4a60df9-77d9-4562-bab4-804f309b0a8b_terseLabel_en-US" xlink:label="lab_srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:label id="lab_srt_StatementGeographicalAxis_label_en-US" xlink:label="lab_srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_StatementGeographicalAxis" xlink:to="lab_srt_StatementGeographicalAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_912fff94-1134-4922-9152-f8abe3eeeeb9_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_a54a5b82-b6a6-4eda-a57f-4da85532edff_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenues</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_f6ac0abc-6366-4ad4-8188-2d8b74359e74_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dividend yield</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_ShareRepurchaseProgramTableTextBlock_218e54a7-ad4e-4a3e-92cc-3bb3e23b58bb_terseLabel_en-US" xlink:label="lab_qlys_ShareRepurchaseProgramTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of the Share Repurchase Program</link:label>
    <link:label id="lab_qlys_ShareRepurchaseProgramTableTextBlock_label_en-US" xlink:label="lab_qlys_ShareRepurchaseProgramTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Repurchase Program [Table Text Block]</link:label>
    <link:label id="lab_qlys_ShareRepurchaseProgramTableTextBlock_documentation_en-US" xlink:label="lab_qlys_ShareRepurchaseProgramTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tabular disclosure of share repurchase program.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareRepurchaseProgramTableTextBlock" xlink:href="qlys-20231231.xsd#qlys_ShareRepurchaseProgramTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_ShareRepurchaseProgramTableTextBlock" xlink:to="lab_qlys_ShareRepurchaseProgramTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_c0fdad8c-27e8-4e95-b90e-6b841653345a_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncurrent restricted cash</link:label>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_label_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash and Cash Equivalents, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:to="lab_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber_03591d1a-bb32-4fce-8444-ef198e89a4e7_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accelerated vesting (in shares)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Accelerated Vesting, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancialLiabilitiesFairValueDisclosure_36c31e61-0c5d-472c-bb8c-9261c0ec6404_totalLabel_en-US" xlink:label="lab_us-gaap_FinancialLiabilitiesFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities</link:label>
    <link:label id="lab_us-gaap_FinancialLiabilitiesFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_FinancialLiabilitiesFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Liabilities Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialLiabilitiesFairValueDisclosure" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialLiabilitiesFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancialLiabilitiesFairValueDisclosure" xlink:to="lab_us-gaap_FinancialLiabilitiesFairValueDisclosure" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_49ca8fe9-7e56-428d-9759-fdf92104ccbe_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total property and equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeasesPolicyTextBlock_ac307e2c-9b04-461c-b403-53c259d5adcb_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeasesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeLeasesPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeLeasesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Leases [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeasesPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeasesPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeasesPolicyTextBlock" xlink:to="lab_us-gaap_LesseeLeasesPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_PresidentAndChiefExecutiveOfficerMember_0ec9b258-0ae8-4861-bcab-c36a09c96391_terseLabel_en-US" xlink:label="lab_qlys_PresidentAndChiefExecutiveOfficerMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">President and Chief Executive Officer</link:label>
    <link:label id="lab_qlys_PresidentAndChiefExecutiveOfficerMember_label_en-US" xlink:label="lab_qlys_PresidentAndChiefExecutiveOfficerMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">President and Chief Executive Officer [Member]</link:label>
    <link:label id="lab_qlys_PresidentAndChiefExecutiveOfficerMember_documentation_en-US" xlink:label="lab_qlys_PresidentAndChiefExecutiveOfficerMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Information related to the President and Chief Executive Officer.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PresidentAndChiefExecutiveOfficerMember" xlink:href="qlys-20231231.xsd#qlys_PresidentAndChiefExecutiveOfficerMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_PresidentAndChiefExecutiveOfficerMember" xlink:to="lab_qlys_PresidentAndChiefExecutiveOfficerMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRecognitionPolicyTextBlock_f252ff3a-7a5b-495a-a555-bff5759bbad0_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRecognitionPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue Recognition</link:label>
    <link:label id="lab_us-gaap_RevenueRecognitionPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueRecognitionPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRecognitionPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="lab_us-gaap_RevenueRecognitionPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_DeferredTaxLiabilitiesDeferredCommission_2279d7bf-b4ff-4361-b5b4-8534e10b9eea_negatedLabel_en-US" xlink:label="lab_qlys_DeferredTaxLiabilitiesDeferredCommission" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred commissions</link:label>
    <link:label id="lab_qlys_DeferredTaxLiabilitiesDeferredCommission_label_en-US" xlink:label="lab_qlys_DeferredTaxLiabilitiesDeferredCommission" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">qlys_DeferredTaxLiabilitiesDeferredCommission</link:label>
    <link:label id="lab_qlys_DeferredTaxLiabilitiesDeferredCommission_documentation_en-US" xlink:label="lab_qlys_DeferredTaxLiabilitiesDeferredCommission" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents the deferred tax liabilities deferred commission.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_DeferredTaxLiabilitiesDeferredCommission" xlink:href="qlys-20231231.xsd#qlys_DeferredTaxLiabilitiesDeferredCommission"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_DeferredTaxLiabilitiesDeferredCommission" xlink:to="lab_qlys_DeferredTaxLiabilitiesDeferredCommission" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_e7c98804-4649-4e8e-b269-d9117d4fc66b_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_05a16e87-9093-4ecf-bc3a-8b389da27a84_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal</link:label>
    <link:label id="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Federal Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract_4e929b34-c1b7-422f-8a1e-94b26035c2c4_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortized Cost</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract" xlink:to="lab_us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_537e9da8-5569-409b-b64d-64a1ab99a9f3_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, par value (in USD per share)</link:label>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockValue_672f5e0f-5f38-4718-b9d6-0449490b07a2_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock: $0.001 par value; 20,000 shares authorized, no shares issued and outstanding as of December&#160;31, 2023 and 2022</link:label>
    <link:label id="lab_us-gaap_PreferredStockValue_label_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockValue" xlink:to="lab_us-gaap_PreferredStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionLineItems_ca178388-434c-4049-95c2-ec7c9826aede_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Line Items]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionLineItems_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems" xlink:to="lab_us-gaap_BusinessAcquisitionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_09fbba17-15c9-426b-9aa5-1206adad5682_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeDomain" xlink:to="lab_us-gaap_SubsequentEventTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_40d000bf-4fec-4aee-aa1f-fa4a52674989_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Grant Date Fair Value Per Share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_efe1efc7-a7ad-4dfb-a17b-a7aebfe530b1_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Canceled (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse_9a54b860-71a1-4721-9c51-886ce3c96028_terseLabel_en-US" xlink:label="lab_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment of long-lived assets</link:label>
    <link:label id="lab_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse_label_en-US" xlink:label="lab_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment, Long-Lived Asset, Held-for-Use</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfLongLivedAssetsHeldForUse"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:to="lab_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_77923c87-c53b-4453-b700-d9a930a242ac_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted (in USD per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted" xlink:to="lab_us-gaap_EarningsPerShareDiluted" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AOCIAttributableToParentAbstract_7d93e587-115e-43cf-800e-b95dc295131f_terseLabel_en-US" xlink:label="lab_us-gaap_AOCIAttributableToParentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification of AOCI - Cash flow hedges</link:label>
    <link:label id="lab_us-gaap_AOCIAttributableToParentAbstract_label_en-US" xlink:label="lab_us-gaap_AOCIAttributableToParentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AOCIAttributableToParentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AOCIAttributableToParentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AOCIAttributableToParentAbstract" xlink:to="lab_us-gaap_AOCIAttributableToParentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PeoTotalCompAmt_terseLabel_en-US" xlink:label="lab_ecd_PeoTotalCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PEO Total Compensation Amount</link:label>
    <link:label id="lab_ecd_PeoTotalCompAmt_label_en-US" xlink:label="lab_ecd_PeoTotalCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PEO Total Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoTotalCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoTotalCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeoTotalCompAmt" xlink:to="lab_ecd_PeoTotalCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_d4faf714-0437-47bd-ae2b-99f32dae725e_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_dcb92e71-0a37-48fe-948d-f073337c1e08_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hedging Relationship [Axis]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hedging Relationship [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_0413d48d-2b0a-4052-abd4-e91dcb52d27e_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable, net of allowance of $778 and $736 as of December&#160;31, 2023 and 2022, respectively</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_bbd5fc3c-50d8-409d-ac06-e3046b187f95_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency forward contracts</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_6e80933a-3d2f-44d4-9b8c-bb9ee97c17c3_verboseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Currency Contracts, Liability, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:to="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_1cba97fc-b29c-45b7-9de0-17eecf0e8c6d_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested and expected to vest (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent_8ec9f96f-0919-45e6-98ad-511b729693c2_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net change in unrealized gains (losses) on cash flow hedges, net of tax</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax, Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TradingArrByIndTable_terseLabel_en-US" xlink:label="lab_ecd_TradingArrByIndTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangements, by Individual</link:label>
    <link:label id="lab_ecd_TradingArrByIndTable_label_en-US" xlink:label="lab_ecd_TradingArrByIndTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangements, by Individual [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TradingArrByIndTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TradingArrByIndTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TradingArrByIndTable" xlink:to="lab_ecd_TradingArrByIndTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_8e5e11ed-0764-4d2f-a394-2748a169e08d_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_410af8ac-ee97-4fe6-916e-8a791186d5c2_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_43474627-f6d6-4fc3-aa1e-7b6e85735f3f_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional stock-based compensation cost</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Accelerated Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost_61b31b1e-ebd1-4caa-94e1-5e86500182fb_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Mature over Two Years</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, after Year 5 Through 10</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_193cd6d0-d95f-498e-80b3-62b54ccf3503_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock upon exercise of stock options</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Stock Options Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_TradingSymbol_22b19f84-2690-4729-b10e-762463e4eeea_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_label_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_3eb8e7bb-5047-4755-a07f-af38a47f59e6_terseLabel_en-US" xlink:label="lab_us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">U.S. Treasury and government agencies</link:label>
    <link:label id="lab_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_label_en-US" xlink:label="lab_us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">US Government Agencies Debt Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USGovernmentAgenciesDebtSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:to="lab_us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NonPeoNeoAvgCompActuallyPaidAmt_terseLabel_en-US" xlink:label="lab_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-PEO NEO Average Compensation Actually Paid Amount</link:label>
    <link:label id="lab_ecd_NonPeoNeoAvgCompActuallyPaidAmt_label_en-US" xlink:label="lab_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-PEO NEO Average Compensation Actually Paid Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoAvgCompActuallyPaidAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:to="lab_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_d27a7a53-942e-4b8d-9d1f-5e5175c88553_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_6606c2e8-ea99-471a-be2e-d24e0b7999b5_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average grant date fair value (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLoss_bfc14ef4-c370-4fb2-8757-4fbab88656cc_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_9ec4cdb7-1cc7-4c51-880d-e05abf8303c6_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_label_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="lab_us-gaap_NetIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_21119c5a-1d98-4a2a-b008-080c4ce7a5f1_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="lab_us-gaap_LiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeContractTypeDomain_11a8e5ea-6703-409a-8fa3-23e8cb5cff1f_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeContractTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Contract [Domain]</link:label>
    <link:label id="lab_us-gaap_DerivativeContractTypeDomain_label_en-US" xlink:label="lab_us-gaap_DerivativeContractTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Contract [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeContractTypeDomain" xlink:to="lab_us-gaap_DerivativeContractTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract" xlink:to="lab_us-gaap_FairValueDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_9c88572a-40b0-4e57-ab8c-5378343b731f_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Currency Transactions</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Currency Transactions and Translations Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ChangedPeerGroupFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_ChangedPeerGroupFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changed Peer Group, Footnote</link:label>
    <link:label id="lab_ecd_ChangedPeerGroupFnTextBlock_label_en-US" xlink:label="lab_ecd_ChangedPeerGroupFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changed Peer Group, Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ChangedPeerGroupFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ChangedPeerGroupFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ChangedPeerGroupFnTextBlock" xlink:to="lab_ecd_ChangedPeerGroupFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_CoSelectedMeasureName_terseLabel_en-US" xlink:label="lab_ecd_CoSelectedMeasureName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Company Selected Measure Name</link:label>
    <link:label id="lab_ecd_CoSelectedMeasureName_label_en-US" xlink:label="lab_ecd_CoSelectedMeasureName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Company Selected Measure Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CoSelectedMeasureName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CoSelectedMeasureName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CoSelectedMeasureName" xlink:to="lab_ecd_CoSelectedMeasureName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_8e4dd276-2401-4826-a003-89e9ee363bdf_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Due after One Year through Two Years</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, after Year One Through Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_c0f71349-ae53-4479-ba79-fe6a0eb60306_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Leases [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativesReportingOfDerivativeActivity_bc0128bb-8d7e-4535-b70b-befa671c45a8_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativesReportingOfDerivativeActivity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Financial Instruments</link:label>
    <link:label id="lab_us-gaap_DerivativesReportingOfDerivativeActivity_label_en-US" xlink:label="lab_us-gaap_DerivativesReportingOfDerivativeActivity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivatives, Reporting of Derivative Activity [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativesReportingOfDerivativeActivity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativesReportingOfDerivativeActivity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativesReportingOfDerivativeActivity" xlink:to="lab_us-gaap_DerivativesReportingOfDerivativeActivity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_0bda6c83-25bb-4ed7-91b2-603b3703628d_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Stockholders&#8217; Equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_6e918615-860b-46f6-b301-2949d4f0bd32_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested_cc582b09-e422-4916-9e9a-e421d8e790b1_terseLabel_en-US" xlink:label="lab_qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock upon vesting of restricted stock units (in shares)</link:label>
    <link:label id="lab_qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested_label_en-US" xlink:label="lab_qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock upon vesting of restricted stock units (in shares)</link:label>
    <link:label id="lab_qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested_documentation_en-US" xlink:label="lab_qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of shares issued during period for restricted stock vested.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested" xlink:href="qlys-20231231.xsd#qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested" xlink:to="lab_qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_85dc80cc-297d-4c4f-98df-bb2c83d6d1f0_negatedLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchase of common stock</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchased During Period, Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_349997f7-9626-4c93-b4b6-9b37e7fb8f2f_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Domain]</link:label>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_label_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_e3b032c5-f0f7-4906-afe5-ec2615418d4d_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders&#8217; equity:</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity, Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract" xlink:to="lab_us-gaap_StockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_378673b0-8b0e-4ffc-b80f-9ced5d7a5cea_negatedLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrealized Losses</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_12706476-cc10-43bb-bfd6-8db7bf48324e_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Unrecognized Tax Benefits Roll Forward</link:label>
    <link:label id="lab_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_688ec96c-e85f-4b0e-a564-25c1e5d7c9b8_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiability" xlink:to="lab_us-gaap_ContractWithCustomerLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_f3674501-869c-4a66-bc11-ab7caf24521a_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock upon exercise of stock options (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_dddebd87-6a70-4f53-b6f0-f99ae585d56e_negatedLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercised (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_232a7acb-d322-4e9f-9c81-6aa6479cde5f_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domestic</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Domestic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_501c2a46-47a2-4761-ae4b-1838af06bbd6_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxContingencyTable_48637a2c-7f7b-41c0-96cc-c3fd55818ced_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Contingency [Table]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxContingencyTable_label_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Contingency [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxContingencyTable" xlink:to="lab_us-gaap_IncomeTaxContingencyTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_83cdf33f-778f-4aae-97de-92889fcce63d_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting period, term years</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ExecutiveCategoryAxis_terseLabel_en-US" xlink:label="lab_ecd_ExecutiveCategoryAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive Category:</link:label>
    <link:label id="lab_ecd_ExecutiveCategoryAxis_label_en-US" xlink:label="lab_ecd_ExecutiveCategoryAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive Category [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ExecutiveCategoryAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ExecutiveCategoryAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ExecutiveCategoryAxis" xlink:to="lab_ecd_ExecutiveCategoryAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerSalesChannelAxis_5be301e3-3769-4df3-abf5-1573c3dcdb50_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerSalesChannelAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Sales Channel [Axis]</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerSalesChannelAxis_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerSalesChannelAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Sales Channel [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerSalesChannelAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerSalesChannelAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerSalesChannelAxis" xlink:to="lab_us-gaap_ContractWithCustomerSalesChannelAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_c63e780f-ec78-4c2c-a398-c65f7dca9b0f_terseLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income (Loss)</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:to="lab_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments_31d0703d-b657-499f-9f90-781a74f8a7c0_terseLabel_en-US" xlink:label="lab_us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net (losses) gains from non-designated forward contracts</link:label>
    <link:label id="lab_us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments_label_en-US" xlink:label="lab_us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (Loss) on Foreign Currency Derivative Instruments Not Designated as Hedging Instruments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments" xlink:to="lab_us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignExchangeContractMember_43c69818-19be-49f8-80c8-7613c46e09c0_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignExchangeContractMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Exchange Contract</link:label>
    <link:label id="lab_us-gaap_ForeignExchangeContractMember_label_en-US" xlink:label="lab_us-gaap_ForeignExchangeContractMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Exchange Contract [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignExchangeContractMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignExchangeContractMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignExchangeContractMember" xlink:to="lab_us-gaap_ForeignExchangeContractMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_a0110f4f-6905-4df1-ae2c-71ecd87e6c46_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding RSUs</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_b3b3f32d-cfcf-425d-822d-6285b9325a07_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercised (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_b7fd0e47-f018-4f67-9549-2d8cf25804b7_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Level 1</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 1 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel1Member" xlink:to="lab_us-gaap_FairValueInputsLevel1Member" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_MeasureName_terseLabel_en-US" xlink:label="lab_ecd_MeasureName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Name</link:label>
    <link:label id="lab_ecd_MeasureName_label_en-US" xlink:label="lab_ecd_MeasureName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measure Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MeasureName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MeasureName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_MeasureName" xlink:to="lab_ecd_MeasureName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsNet_6b0fc6a6-21df-43f4-8552-e3cb7f5cdc79_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total deferred tax assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsNet_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsNet" xlink:to="lab_us-gaap_DeferredTaxAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PatentsMember_dc9b600b-d92d-4632-ac48-5d3c98598247_terseLabel_en-US" xlink:label="lab_us-gaap_PatentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Patent licenses</link:label>
    <link:label id="lab_us-gaap_PatentsMember_label_en-US" xlink:label="lab_us-gaap_PatentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Patents [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PatentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PatentsMember" xlink:to="lab_us-gaap_PatentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ForgoneRecoveryIndName_terseLabel_en-US" xlink:label="lab_ecd_ForgoneRecoveryIndName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Name</link:label>
    <link:label id="lab_ecd_ForgoneRecoveryIndName_label_en-US" xlink:label="lab_ecd_ForgoneRecoveryIndName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery, Individual Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryIndName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryIndName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ForgoneRecoveryIndName" xlink:to="lab_ecd_ForgoneRecoveryIndName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Goodwill_a6e6e513-98a2-4963-8a38-8aadf32fc221_terseLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_Goodwill_label_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill" xlink:to="lab_us-gaap_Goodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_a0cabd82-f4b3-4a47-85eb-c4421e0c8062_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross increase for tax positions of prior years</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_bcf0d61a-e4aa-4623-8151-862b3530dcef_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Property and Equipment, Net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_976976de-9035-4f54-b543-37644563c45c_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis" xlink:to="lab_us-gaap_StatementEquityComponentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a149da19-bf41-4aa0-bfa5-a40a485e50ca_terseLabel_en-US" xlink:label="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments [Domain]</link:label>
    <link:label id="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_label_en-US" xlink:label="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_Additional402vDisclosureTextBlock_terseLabel_en-US" xlink:label="lab_ecd_Additional402vDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional 402(v) Disclosure</link:label>
    <link:label id="lab_ecd_Additional402vDisclosureTextBlock_label_en-US" xlink:label="lab_ecd_Additional402vDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional 402(v) Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Additional402vDisclosureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Additional402vDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_Additional402vDisclosureTextBlock" xlink:to="lab_ecd_Additional402vDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_HedgingRelationshipDomain_a6c9941b-2323-429c-a9ba-1f946d563971_terseLabel_en-US" xlink:label="lab_us-gaap_HedgingRelationshipDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hedging Relationship [Domain]</link:label>
    <link:label id="lab_us-gaap_HedgingRelationshipDomain_label_en-US" xlink:label="lab_us-gaap_HedgingRelationshipDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hedging Relationship [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingRelationshipDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingRelationshipDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_HedgingRelationshipDomain" xlink:to="lab_us-gaap_HedgingRelationshipDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_253ebe6f-d2db-4db9-a927-ef5cece0303d_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares available for grant (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetAcquisitionDomain_f22bbd77-d6a0-4dea-a5bf-33ab03d821c8_terseLabel_en-US" xlink:label="lab_us-gaap_AssetAcquisitionDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Acquisition [Domain]</link:label>
    <link:label id="lab_us-gaap_AssetAcquisitionDomain_label_en-US" xlink:label="lab_us-gaap_AssetAcquisitionDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Acquisition [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetAcquisitionDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetAcquisitionDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetAcquisitionDomain" xlink:to="lab_us-gaap_AssetAcquisitionDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_96a0811e-40da-47c2-9d75-18074e6c721b_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardUndrlygSecuritiesAmt_terseLabel_en-US" xlink:label="lab_ecd_AwardUndrlygSecuritiesAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Underlying Securities</link:label>
    <link:label id="lab_ecd_AwardUndrlygSecuritiesAmt_label_en-US" xlink:label="lab_ecd_AwardUndrlygSecuritiesAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Underlying Securities Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardUndrlygSecuritiesAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardUndrlygSecuritiesAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardUndrlygSecuritiesAmt" xlink:to="lab_ecd_AwardUndrlygSecuritiesAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntitySmallBusiness_ce0fbfcb-0284-4955-b354-e3dba692215d_terseLabel_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:label id="lab_dei_EntitySmallBusiness_label_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntitySmallBusiness" xlink:to="lab_dei_EntitySmallBusiness" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_c6ea8a04-6041-41ca-8217-e3fb4843f3b5_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2027</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNoteTextBlock_9b1ee6b4-1442-4cc4-89f1-35ac2f3daf89_terseLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss)</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNoteTextBlock_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income (Loss) Note [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:to="lab_us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LocalPhoneNumber_70d2321d-ee9f-4a6f-a91e-3cf69e77dc50_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:label id="lab_dei_LocalPhoneNumber_label_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_e969e912-485e-4d75-8d83-b6cd50db9dd3_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_RecoveryOfErrCompDisclosureLineItems_label_en-US" xlink:label="lab_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recovery of Erroneously Awarded Compensation Disclosure [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RecoveryOfErrCompDisclosureLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="lab_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LetterOfCreditMember_215bab69-1a8e-46b9-a288-7e7b2a57bad7_terseLabel_en-US" xlink:label="lab_us-gaap_LetterOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Letter of Credit</link:label>
    <link:label id="lab_us-gaap_LetterOfCreditMember_label_en-US" xlink:label="lab_us-gaap_LetterOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Letter of Credit [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LetterOfCreditMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LetterOfCreditMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LetterOfCreditMember" xlink:to="lab_us-gaap_LetterOfCreditMember" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles_3b4db1cb-b936-499f-b60e-708028ce9849_terseLabel_en-US" xlink:label="lab_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-lived intangibles acquired</link:label>
    <link:label id="lab_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles_label_en-US" xlink:label="lab_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Acquisition, Recognized Identifiable Assets Acquired And Liabilities Assumed, Finite Lived Intangibles</link:label>
    <link:label id="lab_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles_documentation_en-US" xlink:label="lab_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">The amount of identifiable intangible assets recognized as of the acquisition date.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles" xlink:href="qlys-20231231.xsd#qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles" xlink:to="lab_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeNotionalAmount_cb08d36d-3318-4163-a714-9f33937ba771_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeNotionalAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative, notional amount</link:label>
    <link:label id="lab_us-gaap_DerivativeNotionalAmount_label_en-US" xlink:label="lab_us-gaap_DerivativeNotionalAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative, Notional Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeNotionalAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeNotionalAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeNotionalAmount" xlink:to="lab_us-gaap_DerivativeNotionalAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_465bb6de-a8a8-4c2d-8087-46860e115663_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Excess tax benefits related to stock-based compensation</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-Based Payment Arrangement, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_9812cffe-6c86-45b3-90d1-991223fc67e6_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_732f97fb-855b-47ec-a653-589148309677_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities, noncurrent</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_adf1715a-e870-4360-ab00-3fe122ca5dd2_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Fair Value of Marketable Securities</link:label>
    <link:label id="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_label_en-US" xlink:label="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investments Classified by Contractual Maturity Date [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:to="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_8e3526ad-3f5d-4c2c-a484-7651c17cc471_terseLabel_en-US" xlink:label="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customer [Line Items]</link:label>
    <link:label id="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_label_en-US" xlink:label="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customer [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent_30146c19-5d29-402b-b89f-af1ae450a545_negatedLabel_en-US" xlink:label="lab_us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount reclassified into income during the period</link:label>
    <link:label id="lab_us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent_label_en-US" xlink:label="lab_us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification from AOCI, Current Period, before Tax, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent" xlink:to="lab_us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_feaaf64f-c523-429c-9dfc-d950315ff99b_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted stock units</link:label>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:to="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_d30d7954-b5c7-4f8f-9995-ebf6e0684d19_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of RSU Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt_terseLabel_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery due to Violation of Home Country Law, Amount</link:label>
    <link:label id="lab_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt_label_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery due to Violation of Home Country Law, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:to="lab_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CompensationAndRetirementDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Benefits [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="lab_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ContractualObligationFiscalYearMaturityScheduleTableTextBlock_fbedbae6-c196-45e1-a402-3cd7b167106c_terseLabel_en-US" xlink:label="lab_srt_ContractualObligationFiscalYearMaturityScheduleTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Commitment and Contingencies</link:label>
    <link:label id="lab_srt_ContractualObligationFiscalYearMaturityScheduleTableTextBlock_label_en-US" xlink:label="lab_srt_ContractualObligationFiscalYearMaturityScheduleTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contractual Obligation, Fiscal Year Maturity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ContractualObligationFiscalYearMaturityScheduleTableTextBlock" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ContractualObligationFiscalYearMaturityScheduleTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ContractualObligationFiscalYearMaturityScheduleTableTextBlock" xlink:to="lab_srt_ContractualObligationFiscalYearMaturityScheduleTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis_02c34174-22a7-46b3-8fff-1276e209c0e5_terseLabel_en-US" xlink:label="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification out of Accumulated Other Comprehensive Income [Axis]</link:label>
    <link:label id="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis_label_en-US" xlink:label="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification out of Accumulated Other Comprehensive Income [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis" xlink:to="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_10d60d6d-110d-4109-b66f-ccc0ad46b543_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis" xlink:to="lab_us-gaap_IncomeStatementLocationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_2fc06032-f871-4f7b-890f-5964b719ac8f_negatedLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal and state research and development credit</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember_26a1b6d3-c3fa-4a09-8239-374e04d14ab4_terseLabel_en-US" xlink:label="lab_us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">U.S. Treasury and government agencies</link:label>
    <link:label id="lab_us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember_label_en-US" xlink:label="lab_us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">US Government Corporations and Agencies Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember" xlink:to="lab_us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_57bfd70c-4529-4a0e-8440-8af5a16bbdf3_negatedLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Taxes related to net share settlement of equity awards</link:label>
    <link:label id="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_c54a4117-cd78-4135-b4ac-62434df28402_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Operating Lease Liability</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_0429609c-cd1c-4328-bd61-853cc42acf71_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:to="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_OtherPerfMeasureAmt_terseLabel_en-US" xlink:label="lab_ecd_OtherPerfMeasureAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Performance Measure, Amount</link:label>
    <link:label id="lab_ecd_OtherPerfMeasureAmt_label_en-US" xlink:label="lab_ecd_OtherPerfMeasureAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Performance Measure, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OtherPerfMeasureAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OtherPerfMeasureAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_OtherPerfMeasureAmt" xlink:to="lab_ecd_OtherPerfMeasureAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TrdArrSecuritiesAggAvailAmt_terseLabel_en-US" xlink:label="lab_ecd_TrdArrSecuritiesAggAvailAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate Available</link:label>
    <link:label id="lab_ecd_TrdArrSecuritiesAggAvailAmt_label_en-US" xlink:label="lab_ecd_TrdArrSecuritiesAggAvailAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangement, Securities Aggregate Available Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrSecuritiesAggAvailAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrSecuritiesAggAvailAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrSecuritiesAggAvailAmt" xlink:to="lab_ecd_TrdArrSecuritiesAggAvailAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_cecc8e21-7826-43c0-9b80-9a586a02450e_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Supplemental Cash Flow Information</link:label>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCostTableTextBlock" xlink:to="lab_us-gaap_LeaseCostTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_15be5476-7479-47d9-9ba3-545683c5010c_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and development</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_4df54431-2207-4c3b-bd03-e28bc1b9833c_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flow from investing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock_terseLabel_en-US" xlink:label="lab_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Insider Trading Policies and Procedures Not Adopted</link:label>
    <link:label id="lab_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock_label_en-US" xlink:label="lab_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Insider Trading Policies and Procedures Not Adopted [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:to="lab_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_8ebd49e4-6552-4d72-96b5-de489d52cc7c_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total anti-dilutive shares (in shares)</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AwardTypeAxis_6cd78239-e1a4-4911-acc5-13c868e77901_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AwardTypeAxis_label_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="lab_us-gaap_AwardTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_cc3b260d-88f3-49ea-a058-bb2648c231be_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameDomain_1406b740-fc55-4dd7-992b-27ba3704d70c_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:label id="lab_us-gaap_PlanNameDomain_label_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameDomain" xlink:to="lab_us-gaap_PlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract_74fcffcf-d67e-4bcd-9532-b58f532c3368_terseLabel_en-US" xlink:label="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-cash investing and financing activities</link:label>
    <link:label id="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract_label_en-US" xlink:label="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncash Investing and Financing Items [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_e8cc8d6a-a354-45c1-94e0-381f2a026ce5_terseLabel_en-US" xlink:label="lab_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_label_en-US" xlink:label="lab_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="lab_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid_95e07dce-d93f-4fd2-9036-e2776080066b_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of property and equipment recorded in accounts payable and accrued liabilities</link:label>
    <link:label id="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid_label_en-US" xlink:label="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capital Expenditures Incurred but Not yet Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:to="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_e4c36e1d-57db-48f4-aa31-775d374570b9_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_IcfrAuditorAttestationFlag_127f89e2-9a83-44d1-8347-eb13973544ec_terseLabel_en-US" xlink:label="lab_dei_IcfrAuditorAttestationFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
    <link:label id="lab_dei_IcfrAuditorAttestationFlag_label_en-US" xlink:label="lab_dei_IcfrAuditorAttestationFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_IcfrAuditorAttestationFlag" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_IcfrAuditorAttestationFlag" xlink:to="lab_dei_IcfrAuditorAttestationFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpenseMember_9d1e4ef4-b0f3-42d9-8feb-ef5d5aa44111_terseLabel_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and administrative</link:label>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpenseMember_label_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and Administrative Expense [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpenseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GeneralAndAdministrativeExpenseMember" xlink:to="lab_us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_0afa6eb9-55a0-4855-ac56-ea0aaa03d562_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares authorized for issuance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_HedgingDesignationAxis_2b705711-f851-4432-8b65-26771f44c543_terseLabel_en-US" xlink:label="lab_us-gaap_HedgingDesignationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hedging Designation [Axis]</link:label>
    <link:label id="lab_us-gaap_HedgingDesignationAxis_label_en-US" xlink:label="lab_us-gaap_HedgingDesignationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hedging Designation [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_HedgingDesignationAxis" xlink:to="lab_us-gaap_HedgingDesignationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinitelivedIntangibleAssetsAcquired1_e16519dc-b5c7-4433-88e1-b34ac048c6cf_terseLabel_en-US" xlink:label="lab_us-gaap_FinitelivedIntangibleAssetsAcquired1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible assets acquired</link:label>
    <link:label id="lab_us-gaap_FinitelivedIntangibleAssetsAcquired1_label_en-US" xlink:label="lab_us-gaap_FinitelivedIntangibleAssetsAcquired1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets Acquired</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1" xlink:to="lab_us-gaap_FinitelivedIntangibleAssetsAcquired1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_2bc2903e-e07f-48d2-99b4-c6d9ccdaba35_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average remaining contractual life, balance (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_ccc287cd-2f57-4df8-a069-fde64ca2702e_verboseLabel_en-US" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease liabilities arising from obtaining right-of-use assets</link:label>
    <link:label id="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TradingArrAxis_terseLabel_en-US" xlink:label="lab_ecd_TradingArrAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangement:</link:label>
    <link:label id="lab_ecd_TradingArrAxis_label_en-US" xlink:label="lab_ecd_TradingArrAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangement [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TradingArrAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TradingArrAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TradingArrAxis" xlink:to="lab_ecd_TradingArrAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_7a838044-a6c8-4331-8741-38ddcf832eef_negatedLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: interest</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_OtherGeographicAreasMember_2de9f2a0-6ad0-41b8-9a13-1b63c72fbcab_terseLabel_en-US" xlink:label="lab_qlys_OtherGeographicAreasMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rest of world</link:label>
    <link:label id="lab_qlys_OtherGeographicAreasMember_label_en-US" xlink:label="lab_qlys_OtherGeographicAreasMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Geographic Areas [Member]</link:label>
    <link:label id="lab_qlys_OtherGeographicAreasMember_documentation_en-US" xlink:label="lab_qlys_OtherGeographicAreasMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents information related to other geographic areas.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_OtherGeographicAreasMember" xlink:href="qlys-20231231.xsd#qlys_OtherGeographicAreasMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_OtherGeographicAreasMember" xlink:to="lab_qlys_OtherGeographicAreasMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UseOfEstimates_ec7fc250-6533-432f-b41d-266b42756452_terseLabel_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of Estimates</link:label>
    <link:label id="lab_us-gaap_UseOfEstimates_label_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UseOfEstimates" xlink:to="lab_us-gaap_UseOfEstimates" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PeoActuallyPaidCompAmt_terseLabel_en-US" xlink:label="lab_ecd_PeoActuallyPaidCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PEO Actually Paid Compensation Amount</link:label>
    <link:label id="lab_ecd_PeoActuallyPaidCompAmt_label_en-US" xlink:label="lab_ecd_PeoActuallyPaidCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PEO Actually Paid Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoActuallyPaidCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoActuallyPaidCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeoActuallyPaidCompAmt" xlink:to="lab_ecd_PeoActuallyPaidCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeFinanceLeasesTextBlock_fa671b12-d3a9-4aee-b09f-802c983478f8_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeFinanceLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeFinanceLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeFinanceLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Finance Leases [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeFinanceLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeasesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeFinanceLeasesTextBlock" xlink:to="lab_us-gaap_LesseeFinanceLeasesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativesFairValueLineItems_d52ba428-a469-4648-bbc8-12f7993e9125_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativesFairValueLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value [Line Items]</link:label>
    <link:label id="lab_us-gaap_DerivativesFairValueLineItems_label_en-US" xlink:label="lab_us-gaap_DerivativesFairValueLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivatives, Fair Value [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativesFairValueLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativesFairValueLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativesFairValueLineItems" xlink:to="lab_us-gaap_DerivativesFairValueLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_cba58090-7ea7-445a-a1a9-dbc01e6b6bd2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Components of Income Tax Expense (Benefit)</link:label>
    <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFileNumber_b1c47405-6ee8-4bfb-9442-f47186ad4943_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:label id="lab_dei_EntityFileNumber_label_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_SharebasedCompensationTerminationPeriodTrigger_f7215c81-01e5-48fe-8d8c-b118341d24db_terseLabel_en-US" xlink:label="lab_qlys_SharebasedCompensationTerminationPeriodTrigger" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Termination period, trigger month</link:label>
    <link:label id="lab_qlys_SharebasedCompensationTerminationPeriodTrigger_label_en-US" xlink:label="lab_qlys_SharebasedCompensationTerminationPeriodTrigger" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">qlys_SharebasedCompensationTerminationPeriodTrigger</link:label>
    <link:label id="lab_qlys_SharebasedCompensationTerminationPeriodTrigger_documentation_en-US" xlink:label="lab_qlys_SharebasedCompensationTerminationPeriodTrigger" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents termination period trigger for share-based compensation.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationTerminationPeriodTrigger" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationTerminationPeriodTrigger"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_SharebasedCompensationTerminationPeriodTrigger" xlink:to="lab_qlys_SharebasedCompensationTerminationPeriodTrigger" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_08dbfc6f-90e6-404f-b081-9568ea5434c0_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostNetCurrent_7a35bad3-9d1f-48ba-ada3-37315fd83113_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostNetCurrent_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Net, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostNetCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostNetCurrent" xlink:to="lab_us-gaap_CapitalizedContractCostNetCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_7e5be84b-b037-4f4a-bea7-61b2e8a5f33b_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities, current</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_fc856cf7-2076-45f0-b9f5-dd6c16e2a529_negatedLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: lease liabilities, current</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeTermOfContract_91ff36fc-2e56-4c08-bbc7-bb0920ccf469_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeTermOfContract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative financial instrument term</link:label>
    <link:label id="lab_us-gaap_DerivativeTermOfContract_label_en-US" xlink:label="lab_us-gaap_DerivativeTermOfContract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative, Term of Contract</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeTermOfContract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeTermOfContract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeTermOfContract" xlink:to="lab_us-gaap_DerivativeTermOfContract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember_e4d074e9-82db-4966-aef3-8ad34dd49b89_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available-for-sale debt securities</link:label>
    <link:label id="lab_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-Sale, Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember" xlink:to="lab_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComputerSoftwareIntangibleAssetMember_816ff39f-897b-4b52-9fb9-38574329d3f4_terseLabel_en-US" xlink:label="lab_us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Computer software</link:label>
    <link:label id="lab_us-gaap_ComputerSoftwareIntangibleAssetMember_label_en-US" xlink:label="lab_us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Computer Software, Intangible Asset [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:to="lab_us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_5eb1cc5d-189c-4200-a8e8-d1d16b0af009_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock through employee stock purchase plan (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Employee Stock Purchase Plans</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_f55dd5ac-86c9-4b05-8f85-38af9deb5a68_negatedLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross decrease for tax positions of prior years</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AuditorFirmId_33848139-711a-40e5-8ed8-73b0bfdb34f7_terseLabel_en-US" xlink:label="lab_dei_AuditorFirmId" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Firm ID</link:label>
    <link:label id="lab_dei_AuditorFirmId_label_en-US" xlink:label="lab_dei_AuditorFirmId" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Firm ID</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorFirmId" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AuditorFirmId" xlink:to="lab_dei_AuditorFirmId" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_ff849413-a84d-4896-9078-ebf647eb1523_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible asset amortization</link:label>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_label_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:to="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesCurrentAbstract_7f181807-522e-4fa8-8043-b99ab15026ba_verboseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less than 12 months</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesCurrentAbstract" xlink:to="lab_us-gaap_DebtSecuritiesCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityShellCompany_b234504a-5514-4bd6-8e0a-0f1eb68a1e29_terseLabel_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:label id="lab_dei_EntityShellCompany_label_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityShellCompany" xlink:to="lab_dei_EntityShellCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_309a4bfb-54ab-412f-9c66-bf2e4548424b_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_f4b694ad-3a78-4f26-8859-9dc651a92079_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Risk-free interest rate, minimum</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForAdvanceToAffiliate_248996ef-0844-4ba2-a5f3-371b8fe04878_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentsForAdvanceToAffiliate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advanced payments</link:label>
    <link:label id="lab_us-gaap_PaymentsForAdvanceToAffiliate_label_en-US" xlink:label="lab_us-gaap_PaymentsForAdvanceToAffiliate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for Advance to Affiliate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForAdvanceToAffiliate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForAdvanceToAffiliate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForAdvanceToAffiliate" xlink:to="lab_us-gaap_PaymentsForAdvanceToAffiliate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_5243e25b-f78e-4bbd-9011-fa6bdc1cc611_totalLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total expected future amortization expense</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_bf5a1280-b450-4db4-9c09-bceb2d55df7b_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_7db2340a-9cba-43e0-8647-25d9f7dfb48e_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recently Adopted Accounting Pronouncements and Recently Issued Accounting Pronouncements Not Yet Adopted</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_RestatementDeterminationDate_terseLabel_en-US" xlink:label="lab_ecd_RestatementDeterminationDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restatement Determination Date</link:label>
    <link:label id="lab_ecd_RestatementDeterminationDate_label_en-US" xlink:label="lab_ecd_RestatementDeterminationDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restatement Determination Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDeterminationDate" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDeterminationDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_RestatementDeterminationDate" xlink:to="lab_ecd_RestatementDeterminationDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_f4c595e7-023b-4910-af30-d17a4ff7e736_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross increase for tax positions of current year</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_Rule10b51ArrAdoptedFlag_terseLabel_en-US" xlink:label="lab_ecd_Rule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rule 10b5-1 Arrangement Adopted</link:label>
    <link:label id="lab_ecd_Rule10b51ArrAdoptedFlag_label_en-US" xlink:label="lab_ecd_Rule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rule 10b5-1 Arrangement Adopted [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Rule10b51ArrAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrAdoptedFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_Rule10b51ArrAdoptedFlag" xlink:to="lab_ecd_Rule10b51ArrAdoptedFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5d3a96b8-7ede-4691-9791-097618da89bd_negatedLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Amortization</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByAssetClassAxis_2f5aea19-f61d-42ad-9155-b5c2d30c2d7d_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByAssetClassAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Class [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByAssetClassAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByAssetClassAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Class [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByAssetClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByAssetClassAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByAssetClassAxis" xlink:to="lab_us-gaap_FairValueByAssetClassAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_52a0cf87-52d6-4245-9d4e-5f9315fc4a9f_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_63f1a8a6-6a6f-4d9a-8eb6-52e66727be1f_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Income before Income Tax, Domestic and Foreign</link:label>
    <link:label id="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InvestmentIncomeInterest_411da7b7-b56a-42f0-9b4a-ed10b8328e6e_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentIncomeInterest" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest income</link:label>
    <link:label id="lab_us-gaap_InvestmentIncomeInterest_label_en-US" xlink:label="lab_us-gaap_InvestmentIncomeInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment Income, Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentIncomeInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentIncomeInterest" xlink:to="lab_us-gaap_InvestmentIncomeInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_StkPrcOrTsrEstimationMethodTextBlock_terseLabel_en-US" xlink:label="lab_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Price or TSR Estimation Method</link:label>
    <link:label id="lab_ecd_StkPrcOrTsrEstimationMethodTextBlock_label_en-US" xlink:label="lab_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Price or TSR Estimation Method [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_StkPrcOrTsrEstimationMethodTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:to="lab_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_6b45bc3c-ed27-4040-8997-4fffa5411f98_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Foreign</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_99e91e28-0620-4843-8c0d-abc3ee9e7125_terseLabel_en-US" xlink:label="lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment of Long-Lived Assets</link:label>
    <link:label id="lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_b8088a00-404f-49b5-b132-5545fb4ceb4b_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair value</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_12881380-f314-4b60-ab3f-cdeaa06bebb6_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, issued (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued" xlink:to="lab_us-gaap_CommonStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_ba637b79-34b4-44eb-abcb-b9c015a18d1d_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_1599c075-349a-4759-a1cd-7c13261752ab_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GrossProfit_12dffc9f-c9b2-4d2c-9f4a-8f9af9c86eb2_totalLabel_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross profit</link:label>
    <link:label id="lab_us-gaap_GrossProfit_label_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Profit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GrossProfit" xlink:to="lab_us-gaap_GrossProfit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_626b3e93-0b53-408e-812d-23c53705e991_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenues, current</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_d991fa3c-3ec9-4eaf-a1f9-ce35e2aeee9c_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Valuation Assumptions</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SecurityExchangeName_12798738-71b4-4003-9721-b3508615ff03_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:label id="lab_dei_SecurityExchangeName_label_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_6b511049-8328-4d5e-a9b7-fae13d06ffe9_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross unrealized losses</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Unrealized Loss Position, Accumulated Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_25459e0d-dc06-417b-a6b1-19a63373bfb1_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-Based Compensation</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_f34df211-9155-4f29-b478-80b361be5210_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated other comprehensive loss</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_f7589296-7c68-49a7-9342-3c67b1b14c27_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award vesting rights, percentage</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue_ee5fd467-d74a-4891-ad0a-e50477ac5d49_terseLabel_en-US" xlink:label="lab_us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">U.S. Treasury and government agencies</link:label>
    <link:label id="lab_us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">US Government Agencies Securities, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue" xlink:to="lab_us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_8f49235e-3b97-45f9-9e6a-9d945fa79587_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock options</link:label>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_label_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Stock Option [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOptionMember" xlink:to="lab_us-gaap_EmployeeStockOptionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods_6608601a-7297-4dbc-b7ff-6c3385048c43_terseLabel_en-US" xlink:label="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of quarterly periods to vest</link:label>
    <link:label id="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods_label_en-US" xlink:label="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods</link:label>
    <link:label id="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods_documentation_en-US" xlink:label="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents number of quarterly periods for vesting periods for share based compensation arrangement by share based payment award.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods" xlink:href="qlys-20231231.xsd#qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods" xlink:to="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_SecurityDepositsMember_1a548225-7a93-4d9e-a454-ed2b8290a8ad_terseLabel_en-US" xlink:label="lab_qlys_SecurityDepositsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Deposits</link:label>
    <link:label id="lab_qlys_SecurityDepositsMember_label_en-US" xlink:label="lab_qlys_SecurityDepositsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Deposits [Member]</link:label>
    <link:label id="lab_qlys_SecurityDepositsMember_documentation_en-US" xlink:label="lab_qlys_SecurityDepositsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents security deposits.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SecurityDepositsMember" xlink:href="qlys-20231231.xsd#qlys_SecurityDepositsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_SecurityDepositsMember" xlink:to="lab_qlys_SecurityDepositsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_2996b520-94fb-4827-bc71-ac560e2cc3d7_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recognition period, years</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_59a52037-dac7-43ba-88d3-bf283217e530_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Currency Contract, Asset, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:to="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MaximumMember_6d418685-c8d4-43c8-a57e-7f869d0832a8_terseLabel_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum</link:label>
    <link:label id="lab_srt_MaximumMember_label_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MaximumMember" xlink:to="lab_srt_MaximumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_dfb1b2f5-2d85-4bf2-932a-b7dec45bb558_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive income</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_0928ffba-3619-40a4-9e98-b8eb463baf91_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentType_899db847-b063-4097-999b-0e15e39056f4_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_label_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TabularListTableTextBlock_terseLabel_en-US" xlink:label="lab_ecd_TabularListTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tabular List, Table</link:label>
    <link:label id="lab_ecd_TabularListTableTextBlock_label_en-US" xlink:label="lab_ecd_TabularListTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tabular List [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TabularListTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TabularListTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TabularListTableTextBlock" xlink:to="lab_ecd_TabularListTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_6be3f1de-f9dc-411e-8cd2-30387802fbc9_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine1_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetAcquisitionTextBlock_418168b7-2a33-47fe-a125-6643df7c70a3_terseLabel_en-US" xlink:label="lab_us-gaap_AssetAcquisitionTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquisitions</link:label>
    <link:label id="lab_us-gaap_AssetAcquisitionTextBlock_label_en-US" xlink:label="lab_us-gaap_AssetAcquisitionTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Acquisition [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetAcquisitionTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetAcquisitionTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetAcquisitionTextBlock" xlink:to="lab_us-gaap_AssetAcquisitionTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesNameDomain_b13a09b9-ec6b-4d59-994f-cd91dd059d84_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesNameDomain_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentFederalTaxExpenseBenefit_24eb75b2-25f4-480c-aade-85b3edf6dab9_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal</link:label>
    <link:label id="lab_us-gaap_CurrentFederalTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Federal Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetBackedSecuritiesAtCarryingValue_2707e03f-25b6-4237-abd6-55a879ae729f_terseLabel_en-US" xlink:label="lab_us-gaap_AssetBackedSecuritiesAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset-backed securities</link:label>
    <link:label id="lab_us-gaap_AssetBackedSecuritiesAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_AssetBackedSecuritiesAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset-Backed Securities, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetBackedSecuritiesAtCarryingValue" xlink:to="lab_us-gaap_AssetBackedSecuritiesAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_17fc8ac2-bf52-48c0-9073-10917b221e6b_terseLabel_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Presentation</link:label>
    <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Accounting, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_057f27ae-8700-461d-a123-af2825ef576d_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Exercise Price</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_ExecutiveOfficer1Member_a6e2fef4-fdd1-45fe-92f2-b0ae169f3cd6_terseLabel_en-US" xlink:label="lab_qlys_ExecutiveOfficer1Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive Officer 1</link:label>
    <link:label id="lab_qlys_ExecutiveOfficer1Member_label_en-US" xlink:label="lab_qlys_ExecutiveOfficer1Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive Officer 1 [Member]</link:label>
    <link:label id="lab_qlys_ExecutiveOfficer1Member_documentation_en-US" xlink:label="lab_qlys_ExecutiveOfficer1Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents executive officer 1.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ExecutiveOfficer1Member" xlink:href="qlys-20231231.xsd#qlys_ExecutiveOfficer1Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_ExecutiveOfficer1Member" xlink:to="lab_qlys_ExecutiveOfficer1Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_30341ea2-4262-4206-8af0-e35a098d73ce_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value [Line Items]</link:label>
    <link:label id="lab_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_label_en-US" xlink:label="lab_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Option, Quantitative Disclosures [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOptionQuantitativeDisclosuresLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems" xlink:to="lab_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventMember_4755a7f2-a247-47e3-a7c3-e8c3a88e133f_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event</link:label>
    <link:label id="lab_us-gaap_SubsequentEventMember_label_en-US" xlink:label="lab_us-gaap_SubsequentEventMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventMember" xlink:to="lab_us-gaap_SubsequentEventMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLossCarryforwards_46e556a3-bd4e-4f04-af33-e848d6d39241_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State research and development credit carryforwards</link:label>
    <link:label id="lab_us-gaap_OperatingLossCarryforwards_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwards" xlink:to="lab_us-gaap_OperatingLossCarryforwards" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsDeferredIncome_9f68c806-35c4-49f6-b596-18ee538de68e_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsDeferredIncome" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenues</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsDeferredIncome_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsDeferredIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Deferred Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsDeferredIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsDeferredIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsDeferredIncome" xlink:to="lab_us-gaap_DeferredTaxAssetsDeferredIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_a8b87c3a-0c4a-4885-95b0-923cdfd7bf83_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State</link:label>
    <link:label id="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred State and Local Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_4ff0eefb-1a48-422a-8835-5bd83e55a7c2_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract" xlink:to="lab_us-gaap_IncomeStatementAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_Security12bTitle_55899d94-0397-4148-bc32-6d1a42391f92_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:label id="lab_dei_Security12bTitle_label_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_StockRepurchaseProgramAdditionalAuthorizedAmount_2c79fa16-73d7-4dd8-8923-9244297b52f3_terseLabel_en-US" xlink:label="lab_qlys_StockRepurchaseProgramAdditionalAuthorizedAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional authorized amount</link:label>
    <link:label id="lab_qlys_StockRepurchaseProgramAdditionalAuthorizedAmount_label_en-US" xlink:label="lab_qlys_StockRepurchaseProgramAdditionalAuthorizedAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program , Additional Authorized Amount</link:label>
    <link:label id="lab_qlys_StockRepurchaseProgramAdditionalAuthorizedAmount_documentation_en-US" xlink:label="lab_qlys_StockRepurchaseProgramAdditionalAuthorizedAmount" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount of additional stock repurchase plan authorized.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_StockRepurchaseProgramAdditionalAuthorizedAmount" xlink:href="qlys-20231231.xsd#qlys_StockRepurchaseProgramAdditionalAuthorizedAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_StockRepurchaseProgramAdditionalAuthorizedAmount" xlink:to="lab_qlys_StockRepurchaseProgramAdditionalAuthorizedAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_InsiderTrdPoliciesProcAdoptedFlag_terseLabel_en-US" xlink:label="lab_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Insider Trading Policies and Procedures Adopted</link:label>
    <link:label id="lab_ecd_InsiderTrdPoliciesProcAdoptedFlag_label_en-US" xlink:label="lab_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Insider Trading Policies and Procedures Adopted [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTrdPoliciesProcAdoptedFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:to="lab_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortizationPeriod_94c39899-bea5-4905-97df-7bca49d13842_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized commission cost</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortizationPeriod_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Amortization Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:to="lab_us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_09bc64d1-7761-47e9-a767-4b758149613c_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued liabilities</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage_2817ef4d-7c02-4564-a7f6-80308726138a_terseLabel_en-US" xlink:label="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vest ranging target percentage</link:label>
    <link:label id="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage_label_en-US" xlink:label="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage</link:label>
    <link:label id="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage_documentation_en-US" xlink:label="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">The target percentage for vesting of equity-based award under share based payment arrangement.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" xlink:to="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_03769721-6c17-471b-b76b-eeebfe07fdff_terseLabel_en-US" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible assets not subject to amortization</link:label>
    <link:label id="lab_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_label_en-US" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Indefinite-Lived Intangible Assets (Excluding Goodwill)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:to="lab_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AggtErrCompNotYetDeterminedTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate Erroneous Compensation Not Yet Determined</link:label>
    <link:label id="lab_ecd_AggtErrCompNotYetDeterminedTextBlock_label_en-US" xlink:label="lab_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate Erroneous Compensation Not Yet Determined [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AggtErrCompNotYetDeterminedTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:to="lab_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_1c661c37-4ce5-4bc0-a80f-d3aad335af0b_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_22af6f87-5f8f-4eb6-8c90-20685d23b1ea_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_AssetAcquisitionAcquisitionRelatedCosts_ea4adfa8-76d6-4a3d-a8fe-dd558eaa190e_terseLabel_en-US" xlink:label="lab_qlys_AssetAcquisitionAcquisitionRelatedCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquisition related costs</link:label>
    <link:label id="lab_qlys_AssetAcquisitionAcquisitionRelatedCosts_label_en-US" xlink:label="lab_qlys_AssetAcquisitionAcquisitionRelatedCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Acquisition, Acquisition Related Costs</link:label>
    <link:label id="lab_qlys_AssetAcquisitionAcquisitionRelatedCosts_documentation_en-US" xlink:label="lab_qlys_AssetAcquisitionAcquisitionRelatedCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">This element represents acquisition-related costs incurred to effect an acquisition related costs which costs have been expensed during the period.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetAcquisitionAcquisitionRelatedCosts" xlink:href="qlys-20231231.xsd#qlys_AssetAcquisitionAcquisitionRelatedCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_AssetAcquisitionAcquisitionRelatedCosts" xlink:to="lab_qlys_AssetAcquisitionAcquisitionRelatedCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt_terseLabel_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery due to Expense of Enforcement, Amount</link:label>
    <link:label id="lab_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt_label_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery due to Expense of Enforcement, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:to="lab_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_0225dd64-750c-4fd1-b6e2-81d4c4601fa3_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_ScannerAppliancesMember_5cafa120-64d7-4547-9ea7-ca57f5fd6bc2_verboseLabel_en-US" xlink:label="lab_qlys_ScannerAppliancesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scanner appliances and other computer equipment</link:label>
    <link:label id="lab_qlys_ScannerAppliancesMember_31f51d4e-a509-44a2-bf98-f1aae932378f_terseLabel_en-US" xlink:label="lab_qlys_ScannerAppliancesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scanner appliances</link:label>
    <link:label id="lab_qlys_ScannerAppliancesMember_label_en-US" xlink:label="lab_qlys_ScannerAppliancesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scanner Appliances [Member]</link:label>
    <link:label id="lab_qlys_ScannerAppliancesMember_documentation_en-US" xlink:label="lab_qlys_ScannerAppliancesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents information related to scanner appliances.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ScannerAppliancesMember" xlink:href="qlys-20231231.xsd#qlys_ScannerAppliancesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_ScannerAppliancesMember" xlink:to="lab_qlys_ScannerAppliancesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortization_e6214956-99c2-4e3c-b7a2-52cdfb30bdc7_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization expense related to deferred costs</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortization_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostAmortization" xlink:to="lab_us-gaap_CapitalizedContractCostAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireMarketableSecurities_fe1e260d-eb36-4b53-b80f-7dcac9095e3f_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of marketable securities</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireMarketableSecurities_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Marketable Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireMarketableSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:to="lab_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeAxis_23ac1660-851b-4ff5-bcc9-87fd7ff9f062_terseLabel_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:label id="lab_srt_RangeAxis_label_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeAxis" xlink:to="lab_srt_RangeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_The2012EquityIncentivePlanMember_b5b04786-fb02-464c-bfae-d26bb7d20998_terseLabel_en-US" xlink:label="lab_qlys_The2012EquityIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">The 2012 Equity Incentive Plan</link:label>
    <link:label id="lab_qlys_The2012EquityIncentivePlanMember_label_en-US" xlink:label="lab_qlys_The2012EquityIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">The 2012 Equity Incentive Plan [Member]</link:label>
    <link:label id="lab_qlys_The2012EquityIncentivePlanMember_documentation_en-US" xlink:label="lab_qlys_The2012EquityIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents plan 2012.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_The2012EquityIncentivePlanMember" xlink:href="qlys-20231231.xsd#qlys_The2012EquityIncentivePlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_The2012EquityIncentivePlanMember" xlink:to="lab_qlys_The2012EquityIncentivePlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancialInstrumentAxis_ad2f3336-f9a5-4cec-a4ec-b7ea8184c515_terseLabel_en-US" xlink:label="lab_us-gaap_FinancialInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instrument [Axis]</link:label>
    <link:label id="lab_us-gaap_FinancialInstrumentAxis_label_en-US" xlink:label="lab_us-gaap_FinancialInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancialInstrumentAxis" xlink:to="lab_us-gaap_FinancialInstrumentAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancialInstrumentsOwnedAtFairValue_8406be92-06fe-42a4-b8b3-f3d29847aa6a_totalLabel_en-US" xlink:label="lab_us-gaap_FinancialInstrumentsOwnedAtFairValue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_FinancialInstrumentsOwnedAtFairValue_label_en-US" xlink:label="lab_us-gaap_FinancialInstrumentsOwnedAtFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments, Owned, at Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentsOwnedAtFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsOwnedAtFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancialInstrumentsOwnedAtFairValue" xlink:to="lab_us-gaap_FinancialInstrumentsOwnedAtFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_f7ee2ff5-6d62-4d21-a38f-7461cb7b35d2_terseLabel_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_label_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityInteractiveDataCurrent" xlink:to="lab_dei_EntityInteractiveDataCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdvertisingCostsPolicyTextBlock_a238ba11-30bb-4b1c-8dba-6ae139c1336e_terseLabel_en-US" xlink:label="lab_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising Expenses</link:label>
    <link:label id="lab_us-gaap_AdvertisingCostsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising Cost [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingCostsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:to="lab_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TotalShareholderRtnAmt_terseLabel_en-US" xlink:label="lab_ecd_TotalShareholderRtnAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Shareholder Return Amount</link:label>
    <link:label id="lab_ecd_TotalShareholderRtnAmt_label_en-US" xlink:label="lab_ecd_TotalShareholderRtnAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Shareholder Return Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TotalShareholderRtnAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TotalShareholderRtnAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TotalShareholderRtnAmt" xlink:to="lab_ecd_TotalShareholderRtnAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares_6fba9deb-c375-4fc0-a2a5-71c1350c6e8e_terseLabel_en-US" xlink:label="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Target PSUs scheduled to vest (in shares)</link:label>
    <link:label id="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares_label_en-US" xlink:label="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares</link:label>
    <link:label id="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares_documentation_en-US" xlink:label="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents target number of shares of share-based compensation by share-based payment award for equity instruments other than options.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares" xlink:to="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_f88bfed5-2421-4341-88ce-9311852ae6f0_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchase of common stock</link:label>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_label_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for Repurchase of Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_e0fb927d-2fb5-4caf-a7f8-e0ac396e5406_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_label_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding" xlink:to="lab_dei_EntityCommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember_5fe39880-337f-41ec-be79-29268ed6258f_terseLabel_en-US" xlink:label="lab_qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scanner Appliances and Other Computer Equipment Subject To Subscription</link:label>
    <link:label id="lab_qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember_label_en-US" xlink:label="lab_qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scanner Appliances and Other Computer Equipment Subject To Subscription [Member]</link:label>
    <link:label id="lab_qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember_documentation_en-US" xlink:label="lab_qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents information related to scanner appliances and other computer equipment subject to subscription.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember" xlink:href="qlys-20231231.xsd#qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember" xlink:to="lab_qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_d5d715f8-2391-4984-a067-c53e9dfe057d_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets and Software Development Costs</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AdjToPeoCompFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AdjToPeoCompFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment To PEO Compensation, Footnote</link:label>
    <link:label id="lab_ecd_AdjToPeoCompFnTextBlock_label_en-US" xlink:label="lab_ecd_AdjToPeoCompFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment To PEO Compensation, Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToPeoCompFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToPeoCompFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AdjToPeoCompFnTextBlock" xlink:to="lab_ecd_AdjToPeoCompFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityWellKnownSeasonedIssuer_27200026-30fe-47a4-879c-f57ed9de9970_terseLabel_en-US" xlink:label="lab_dei_EntityWellKnownSeasonedIssuer" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:label id="lab_dei_EntityWellKnownSeasonedIssuer_label_en-US" xlink:label="lab_dei_EntityWellKnownSeasonedIssuer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityWellKnownSeasonedIssuer" xlink:to="lab_dei_EntityWellKnownSeasonedIssuer" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_9cee1c36-5e5a-4472-a39b-21b903758601_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign</link:label>
    <link:label id="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Foreign Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostTableTextBlock_80c9bedf-0355-4de7-a42a-71e980531a7e_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Deferred Costs to Obtain Contracts</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostTableTextBlock_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostTableTextBlock" xlink:to="lab_us-gaap_CapitalizedContractCostTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ef050dac-fe35-4735-ab8a-6255af38f2f7_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_1b4fabfd-5565-4f3b-9fa9-ad139e586357_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_58b057e6-d085-486f-bd12-3b84c1f2f893_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated deficit</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_MeasureAxis_terseLabel_en-US" xlink:label="lab_ecd_MeasureAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measure:</link:label>
    <link:label id="lab_ecd_MeasureAxis_label_en-US" xlink:label="lab_ecd_MeasureAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measure [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MeasureAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MeasureAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_MeasureAxis" xlink:to="lab_ecd_MeasureAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_OutstandingRecoveryIndName_terseLabel_en-US" xlink:label="lab_ecd_OutstandingRecoveryIndName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Name</link:label>
    <link:label id="lab_ecd_OutstandingRecoveryIndName_label_en-US" xlink:label="lab_ecd_OutstandingRecoveryIndName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding Recovery, Individual Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingRecoveryIndName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingRecoveryIndName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_OutstandingRecoveryIndName" xlink:to="lab_ecd_OutstandingRecoveryIndName" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_17e39007-58b1-45bf-a603-73ee78c56bac_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_43cc5fb8-a865-47e0-9599-092a1292b72a_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current assets:</link:label>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract" xlink:to="lab_us-gaap_AssetsCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_ExecutiveOfficer2Member_5954e847-a015-4992-9713-431bd22fc279_terseLabel_en-US" xlink:label="lab_qlys_ExecutiveOfficer2Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive Officer 2</link:label>
    <link:label id="lab_qlys_ExecutiveOfficer2Member_label_en-US" xlink:label="lab_qlys_ExecutiveOfficer2Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive Officer 2 [Member]</link:label>
    <link:label id="lab_qlys_ExecutiveOfficer2Member_documentation_en-US" xlink:label="lab_qlys_ExecutiveOfficer2Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents executive officer 2.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ExecutiveOfficer2Member" xlink:href="qlys-20231231.xsd#qlys_ExecutiveOfficer2Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_ExecutiveOfficer2Member" xlink:to="lab_qlys_ExecutiveOfficer2Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeasesAbstract_d72963a9-3125-421e-89bb-c4a91809c4c0_terseLabel_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:label id="lab_us-gaap_LeasesAbstract_label_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeasesAbstract" xlink:to="lab_us-gaap_LeasesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdvertisingExpense_5682ab47-de42-4b1a-b79c-b9735927f156_terseLabel_en-US" xlink:label="lab_us-gaap_AdvertisingExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising expense</link:label>
    <link:label id="lab_us-gaap_AdvertisingExpense_label_en-US" xlink:label="lab_us-gaap_AdvertisingExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdvertisingExpense" xlink:to="lab_us-gaap_AdvertisingExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_4ad660e2-0f33-4ee4-8ab3-9d75ed876d6a_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_b6d2f394-3930-492b-b10d-4ab78a40ca1a_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:label id="lab_dei_EntityAddressStateOrProvince_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Actually Paid vs. Total Shareholder Return</link:label>
    <link:label id="lab_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock_label_en-US" xlink:label="lab_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Actually Paid vs. Total Shareholder Return [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:to="lab_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PurchaseObligationDueInFourthYear_fde5bec7-2f09-4731-bb11-c23f22482b0a_verboseLabel_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInFourthYear" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2027</link:label>
    <link:label id="lab_us-gaap_PurchaseObligationDueInFourthYear_label_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInFourthYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase Obligation, to be Paid, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInFourthYear" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInFourthYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseObligationDueInFourthYear" xlink:to="lab_us-gaap_PurchaseObligationDueInFourthYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_7dc8cbd0-b451-4a7c-a09d-f879858dc8d4_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flow from operating activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_238420ce-8c9f-4cde-a400-01dc77c9d466_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_AuditorInformationAbstract_label_en-US" xlink:label="lab_qlys_AuditorInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Information [Abstract]</link:label>
    <link:label id="lab_qlys_AuditorInformationAbstract_documentation_en-US" xlink:label="lab_qlys_AuditorInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Information</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AuditorInformationAbstract" xlink:href="qlys-20231231.xsd#qlys_AuditorInformationAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_AuditorInformationAbstract" xlink:to="lab_qlys_AuditorInformationAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PurchaseObligationDueInNextTwelveMonths_0daa4578-4385-441a-b6db-a90010f4f511_verboseLabel_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_PurchaseObligationDueInNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase Obligation, to be Paid, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:to="lab_us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_0d3f053d-ec35-40e8-8dfb-3766fe0d9e5b_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeasePayments_65fdd29d-7605-45d9-8666-7d76fdb48cd1_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash payments included in the measurement of lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeasePayments_label_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasePayments" xlink:to="lab_us-gaap_OperatingLeasePayments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAbstract_dccce14a-cad6-45ea-ae8d-fafab251a0bf_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAbstract_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAbstract" xlink:to="lab_us-gaap_DebtSecuritiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_72976f1e-0107-4987-b7d1-64303c71b82a_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net change in unrealized gains (losses) on available-for-sale debt securities, net of tax</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_79457a08-1f42-4925-a549-0686f8dda53a_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding" xlink:to="lab_us-gaap_CommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember_3ac2bf02-8076-4e18-9971-802c84ae68b0_terseLabel_en-US" xlink:label="lab_qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scanner Appliances and Other Computer Equipment Not Placed In Service</link:label>
    <link:label id="lab_qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember_label_en-US" xlink:label="lab_qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scanner Appliances and Other Computer Equipment Not Placed In Service [Member]</link:label>
    <link:label id="lab_qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember_documentation_en-US" xlink:label="lab_qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents scanner appliances and other computer equipment not placed in service.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember" xlink:href="qlys-20231231.xsd#qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember" xlink:to="lab_qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PeoMember_terseLabel_en-US" xlink:label="lab_ecd_PeoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PEO</link:label>
    <link:label id="lab_ecd_PeoMember_label_en-US" xlink:label="lab_ecd_PeoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PEO [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeoMember" xlink:to="lab_ecd_PeoMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskCreditRisk_e7dde512-c8a9-42b0-9e8c-80a71c0fc747_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration of Credit Risk</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskCreditRisk_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk, Credit Risk, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskCreditRisk" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskCreditRisk" xlink:to="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AuditorLocation_2fe45f0a-31a5-4a48-a64b-3871203f61f0_terseLabel_en-US" xlink:label="lab_dei_AuditorLocation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Location</link:label>
    <link:label id="lab_dei_AuditorLocation_label_en-US" xlink:label="lab_dei_AuditorLocation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Location</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorLocation" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AuditorLocation" xlink:to="lab_dei_AuditorLocation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashEquivalentsMember_ab61bbfa-f446-4506-8a88-c92df83b462f_terseLabel_en-US" xlink:label="lab_us-gaap_CashEquivalentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Equivalents</link:label>
    <link:label id="lab_us-gaap_CashEquivalentsMember_label_en-US" xlink:label="lab_us-gaap_CashEquivalentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Equivalents [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashEquivalentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashEquivalentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashEquivalentsMember" xlink:to="lab_us-gaap_CashEquivalentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharesOutstanding_a3eb7d01-7b1b-4800-9014-c9351ddf793f_periodStartLabel_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_SharesOutstanding_c93a6776-2bed-494d-9d48-43ac27b10cc2_periodEndLabel_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_SharesOutstanding_label_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharesOutstanding" xlink:to="lab_us-gaap_SharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromDividendsReceived_3836d07a-5ca9-4ea9-9c89-00fd561dbbad_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromDividendsReceived" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dividends from investment</link:label>
    <link:label id="lab_us-gaap_ProceedsFromDividendsReceived_label_en-US" xlink:label="lab_us-gaap_ProceedsFromDividendsReceived" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Dividends Received</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDividendsReceived" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromDividendsReceived"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromDividendsReceived" xlink:to="lab_us-gaap_ProceedsFromDividendsReceived" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_7b91eac8-7b5e-4a98-9c6a-0cf12baa1399_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Line Items]</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_e394829d-43b1-4e1f-8274-e251fe9c6a51_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Class [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Class [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_5ccbcc5a-7339-43e1-89be-ba73956825e3_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, par value (in USD per share)</link:label>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_1734754c-a69b-42b0-a594-2961b52180c9_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrual to return adjustments and Other</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_223d971a-61ff-4f49-9eb7-c584ea3955f4_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash (used in) provided by investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock_8eb070b0-8bee-4b7b-9231-a1b6cbcb23cc_terseLabel_en-US" xlink:label="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Effects on Incomebefore Income Taxes Reclassified from AOCI</link:label>
    <link:label id="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification out of Accumulated Other Comprehensive Income [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock" xlink:to="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_2b1192e4-3e83-4ea3-83e8-188da7ab0dc4_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding Options</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_28ea2c6d-56fb-4c20-b43f-a9364a7619e0_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock repurchased and retired in period</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchased and Retired During Period, Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:to="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_OutstandingAggtErrCompAmt_terseLabel_en-US" xlink:label="lab_ecd_OutstandingAggtErrCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding Aggregate Erroneous Compensation Amount</link:label>
    <link:label id="lab_ecd_OutstandingAggtErrCompAmt_label_en-US" xlink:label="lab_ecd_OutstandingAggtErrCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding Aggregate Erroneous Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingAggtErrCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingAggtErrCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_OutstandingAggtErrCompAmt" xlink:to="lab_ecd_OutstandingAggtErrCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_ed267f68-f74c-4963-98fb-4071880dd993_totalLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax provision</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesAbstract_64a55c9c-ba89-4fe1-942d-06782e7a6e94_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax liabilities</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesAbstract_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Gross [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_85b04839-8da2-46aa-8ddf-210430ed1966_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Present value of net minimum lease payments</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiability" xlink:to="lab_us-gaap_OperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_1d854f91-4986-47a8-983a-75e1a9d23b17_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercisable as of December 31, 2023</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Aggregate Intrinsic Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_PerformanceSharesTrancheThreeMember_afe29cd6-b151-496a-a437-21247624fac4_terseLabel_en-US" xlink:label="lab_qlys_PerformanceSharesTrancheThreeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Shares, Tranche Three</link:label>
    <link:label id="lab_qlys_PerformanceSharesTrancheThreeMember_label_en-US" xlink:label="lab_qlys_PerformanceSharesTrancheThreeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Shares, Tranche Three [Member]</link:label>
    <link:label id="lab_qlys_PerformanceSharesTrancheThreeMember_documentation_en-US" xlink:label="lab_qlys_PerformanceSharesTrancheThreeMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Information related to tranche three of performance shares.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PerformanceSharesTrancheThreeMember" xlink:href="qlys-20231231.xsd#qlys_PerformanceSharesTrancheThreeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_PerformanceSharesTrancheThreeMember" xlink:to="lab_qlys_PerformanceSharesTrancheThreeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Liabilities_d9fa4dff-d0eb-42f6-9d9c-4872a0e59286_totalLabel_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities</link:label>
    <link:label id="lab_us-gaap_Liabilities_label_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Liabilities" xlink:to="lab_us-gaap_Liabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefit_b634cf1d-f39a-46c2-bccd-1a25a262231b_totalLabel_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current income tax provision</link:label>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_40720835-a461-4763-aed6-3a2b3142ead3_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Volatility</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue_b621a81b-0abf-4fe5-9fb9-968fa9bbe4c6_terseLabel_en-US" xlink:label="lab_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue acquired</link:label>
    <link:label id="lab_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue_label_en-US" xlink:label="lab_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Acquisition Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Deferred Revenue</link:label>
    <link:label id="lab_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue_documentation_en-US" xlink:label="lab_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount of deferred revenue expected to be recognized as such within one year or the normal operating cycle, if longer, assumed at the acquisition date.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:href="qlys-20231231.xsd#qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:to="lab_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetAcquisitionAxis_a7c1fd2d-a339-493e-bc9c-df21e5991c10_terseLabel_en-US" xlink:label="lab_us-gaap_AssetAcquisitionAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Acquisition [Axis]</link:label>
    <link:label id="lab_us-gaap_AssetAcquisitionAxis_label_en-US" xlink:label="lab_us-gaap_AssetAcquisitionAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Acquisition [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetAcquisitionAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetAcquisitionAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetAcquisitionAxis" xlink:to="lab_us-gaap_AssetAcquisitionAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TotalShareholderRtnVsPeerGroupTextBlock_terseLabel_en-US" xlink:label="lab_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Shareholder Return Vs Peer Group</link:label>
    <link:label id="lab_ecd_TotalShareholderRtnVsPeerGroupTextBlock_label_en-US" xlink:label="lab_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Shareholder Return Vs Peer Group [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TotalShareholderRtnVsPeerGroupTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:to="lab_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_5a4fa9cc-b753-4b67-967b-99ef17b213b3_terseLabel_en-US" xlink:label="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity and Stock-based Compensation</link:label>
    <link:label id="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_label_en-US" xlink:label="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shareholders' Equity and Share-Based Payments [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:to="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_3907bea9-5352-4be6-a0ff-b85cf43b93be_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average exercise price, exercisable (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget_4eda18e9-1191-487a-bbdd-06fbcfa7c64d_terseLabel_en-US" xlink:label="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Target number of awards, percentage</link:label>
    <link:label id="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget_label_en-US" xlink:label="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget</link:label>
    <link:label id="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget_documentation_en-US" xlink:label="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents equity instruments other than options vested in period as a percentage of target for share-based compensation arrangement by share-based payment award.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget" xlink:to="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VestingDomain_9eda3356-2935-490e-859e-981d2e7adfca_terseLabel_en-US" xlink:label="lab_us-gaap_VestingDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Domain]</link:label>
    <link:label id="lab_us-gaap_VestingDomain_label_en-US" xlink:label="lab_us-gaap_VestingDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VestingDomain" xlink:to="lab_us-gaap_VestingDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_174a0d4a-a7a6-4120-bf14-2a24c9dd70c7_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss)</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_09dd58f4-5476-42d7-923e-212c1a6f37a4_verboseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_9af6f4e8-87e7-403c-9ca7-b07deacca252_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AggtErrCompAmt_terseLabel_en-US" xlink:label="lab_ecd_AggtErrCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate Erroneous Compensation Amount</link:label>
    <link:label id="lab_ecd_AggtErrCompAmt_label_en-US" xlink:label="lab_ecd_AggtErrCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate Erroneous Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AggtErrCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AggtErrCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AggtErrCompAmt" xlink:to="lab_ecd_AggtErrCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_63814c60-0587-476c-afb1-425d9995af21_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_176ae0bc-ab24-4821-a6ce-b8f898833556_totalLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair value</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Unrealized Loss Position</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedContributionPlanCostRecognized_105d4d02-0cea-4e3a-a40c-39b108b2f8db_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanCostRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">401(k) plan contribution</link:label>
    <link:label id="lab_us-gaap_DefinedContributionPlanCostRecognized_label_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanCostRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Contribution Plan, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanCostRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanCostRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedContributionPlanCostRecognized" xlink:to="lab_us-gaap_DefinedContributionPlanCostRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_26d25a55-7af8-4f39-a5ab-5127f5412ed3_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_fbd59cc2-b673-469c-8f6d-a3ac9aa95a55_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and Equipment, Net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AllExecutiveCategoriesMember_terseLabel_en-US" xlink:label="lab_ecd_AllExecutiveCategoriesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Executive Categories</link:label>
    <link:label id="lab_ecd_AllExecutiveCategoriesMember_label_en-US" xlink:label="lab_ecd_AllExecutiveCategoriesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Executive Categories [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllExecutiveCategoriesMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllExecutiveCategoriesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AllExecutiveCategoriesMember" xlink:to="lab_ecd_AllExecutiveCategoriesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_AssetAcquisitionsPolicyTextBlock_f92b96d3-bdde-4c21-88a9-5b19659f3dfe_terseLabel_en-US" xlink:label="lab_qlys_AssetAcquisitionsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Acquisitions</link:label>
    <link:label id="lab_qlys_AssetAcquisitionsPolicyTextBlock_label_en-US" xlink:label="lab_qlys_AssetAcquisitionsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Acquisitions [Policy Text Block]</link:label>
    <link:label id="lab_qlys_AssetAcquisitionsPolicyTextBlock_documentation_en-US" xlink:label="lab_qlys_AssetAcquisitionsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Acquisitions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetAcquisitionsPolicyTextBlock" xlink:href="qlys-20231231.xsd#qlys_AssetAcquisitionsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_AssetAcquisitionsPolicyTextBlock" xlink:to="lab_qlys_AssetAcquisitionsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityNoncurrent_84bb5344-1f8d-4f1b-bc6f-de99b0f17096_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenues, noncurrent</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_TitleOfIndividualAxis_66fd3259-feed-47a0-947e-8ad4d4a66489_terseLabel_en-US" xlink:label="lab_srt_TitleOfIndividualAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Axis]</link:label>
    <link:label id="lab_srt_TitleOfIndividualAxis_label_en-US" xlink:label="lab_srt_TitleOfIndividualAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_TitleOfIndividualAxis" xlink:to="lab_srt_TitleOfIndividualAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_69a18d6a-dcfd-43a5-92f9-b4d2e1c6cd9f_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Table]</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis_c157be63-5d09-4801-a189-122e153d0320_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash and Cash Equivalents [Axis]</link:label>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis_label_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash and Cash Equivalents [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:to="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NonRule10b51ArrAdoptedFlag_terseLabel_en-US" xlink:label="lab_ecd_NonRule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Adopted</link:label>
    <link:label id="lab_ecd_NonRule10b51ArrAdoptedFlag_label_en-US" xlink:label="lab_ecd_NonRule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Adopted [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonRule10b51ArrAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrAdoptedFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonRule10b51ArrAdoptedFlag" xlink:to="lab_ecd_NonRule10b51ArrAdoptedFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_fd3453ab-111e-4a12-8a86-efe53e527031_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized research and development</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, in Process Research and Development</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:to="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameAxis_76f24140-64b0-4bf6-be8f-a2f7bb54a0e5_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:label id="lab_us-gaap_PlanNameAxis_label_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameAxis" xlink:to="lab_us-gaap_PlanNameAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock_23622a94-86c1-4a12-a2ca-afcd8008b716_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Acquired Indefinite-Lived Intangible Assets by Major Class</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Acquired Indefinite-Lived Intangible Assets by Major Class [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:to="lab_us-gaap_ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_b221fe19-f33f-4bb5-abce-7715e2c87533_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Domain]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_e7100c9e-b499-4b52-8264-36c14cccc17a_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax benefit</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expense, Tax Benefit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NumberOfReportableSegments_2fc88c83-6452-4f69-9909-28c91cc993b7_terseLabel_en-US" xlink:label="lab_us-gaap_NumberOfReportableSegments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of reportable segments</link:label>
    <link:label id="lab_us-gaap_NumberOfReportableSegments_label_en-US" xlink:label="lab_us-gaap_NumberOfReportableSegments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Reportable Segments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NumberOfReportableSegments" xlink:to="lab_us-gaap_NumberOfReportableSegments" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_ExecutiveOfficer4Member_24804f92-cad9-4923-82fb-eea077745b94_terseLabel_en-US" xlink:label="lab_qlys_ExecutiveOfficer4Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive Officer 4</link:label>
    <link:label id="lab_qlys_ExecutiveOfficer4Member_label_en-US" xlink:label="lab_qlys_ExecutiveOfficer4Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive Officer 4 [Member]</link:label>
    <link:label id="lab_qlys_ExecutiveOfficer4Member_documentation_en-US" xlink:label="lab_qlys_ExecutiveOfficer4Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents executive 4.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ExecutiveOfficer4Member" xlink:href="qlys-20231231.xsd#qlys_ExecutiveOfficer4Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_ExecutiveOfficer4Member" xlink:to="lab_qlys_ExecutiveOfficer4Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_d4e0e0e5-7a69-47bd-a42b-674c240a9960_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income per share:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract" xlink:to="lab_us-gaap_EarningsPerShareAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingAndMarketingExpense_6bd41a7b-61f2-491f-b668-d47bf408b017_terseLabel_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales and marketing</link:label>
    <link:label id="lab_us-gaap_SellingAndMarketingExpense_08c40b77-4102-4666-8feb-662bc1769c7a_negatedLabel_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpense" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales and marketing</link:label>
    <link:label id="lab_us-gaap_SellingAndMarketingExpense_label_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling and Marketing Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingAndMarketingExpense" xlink:to="lab_us-gaap_SellingAndMarketingExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockValue_b1c6180b-3753-4fe2-95dc-a738cba53887_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock: $0.001 par value; 1,000,000 shares authorized, 36,909 and 37,362 shares issued and outstanding as of December&#160;31, 2023 and 2022, respectively</link:label>
    <link:label id="lab_us-gaap_CommonStockValue_label_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValue" xlink:to="lab_us-gaap_CommonStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract_f9c606d1-c8cb-47c2-b734-d9222be0c48a_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Held-to-Maturity, Fair Value [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract" xlink:to="lab_us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_dd6da7f7-1852-49de-ad82-c8cdf765c705_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair value</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpense_2fc55728-6e6b-4d66-bb71-914fa59b5e40_terseLabel_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and administrative</link:label>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpense_4630080b-36c8-492d-8916-86cd79f948cc_negatedLabel_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and administrative</link:label>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpense_label_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and Administrative Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1_a0f82330-f97a-44b8-ba08-dc173f788d97_negatedLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax effect</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Tax, Portion Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_5b15f895-92c0-4fd2-bf13-f74ba4fa32bd_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Due after One Year through Two Years</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year One Through Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue_ab4a4f0b-c36d-48f3-96c8-322ddd2b8b19_terseLabel_en-US" xlink:label="lab_us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency forward contracts</link:label>
    <link:label id="lab_us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue_label_en-US" xlink:label="lab_us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments, Owned, Derivatives and Other Contractual Agreements, at Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue" xlink:to="lab_us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardsCloseToMnpiDiscTableTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards Close in Time to MNPI Disclosures, Table</link:label>
    <link:label id="lab_ecd_AwardsCloseToMnpiDiscTableTextBlock_label_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards Close in Time to MNPI Disclosures [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:to="lab_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_c28e5eb5-e863-4018-a47f-aa72a8b24194_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State</link:label>
    <link:label id="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current State and Local Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_ForeignExchangeContractsForGBPAndEuroMember_ffc63938-f269-4e77-ae9b-7ef922018dd5_terseLabel_en-US" xlink:label="lab_qlys_ForeignExchangeContractsForGBPAndEuroMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Exchange Contracts for GBP and Euro</link:label>
    <link:label id="lab_qlys_ForeignExchangeContractsForGBPAndEuroMember_label_en-US" xlink:label="lab_qlys_ForeignExchangeContractsForGBPAndEuroMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Exchange Contracts for GBP and Euro [Member]</link:label>
    <link:label id="lab_qlys_ForeignExchangeContractsForGBPAndEuroMember_documentation_en-US" xlink:label="lab_qlys_ForeignExchangeContractsForGBPAndEuroMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Information related to foreign exchange contracts for BPG and Euro.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ForeignExchangeContractsForGBPAndEuroMember" xlink:href="qlys-20231231.xsd#qlys_ForeignExchangeContractsForGBPAndEuroMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_ForeignExchangeContractsForGBPAndEuroMember" xlink:to="lab_qlys_ForeignExchangeContractsForGBPAndEuroMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrent_a65d2b5d-68cb-4f56-a16b-1f5f3a265899_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrent_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="lab_us-gaap_AssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_ec02b78a-cb79-4a43-91c1-c7a1d99e03ac_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeasePrincipalPayments_abe562c0-2ca1-43d1-a8f9-02064f046403_negatedLabel_en-US" xlink:label="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Principal payments under finance lease obligations</link:label>
    <link:label id="lab_us-gaap_FinanceLeasePrincipalPayments_label_en-US" xlink:label="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Principal Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeasePrincipalPayments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeasePrincipalPayments" xlink:to="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableNet_ae108adf-db67-44a0-8de6-203d7a632202_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNet_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNet" xlink:to="lab_us-gaap_AccountsReceivableNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCash_aa6af69c-d94b-46b5-95fe-cd1f0e0bbd9c_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCash" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted cash</link:label>
    <link:label id="lab_us-gaap_RestrictedCash_label_en-US" xlink:label="lab_us-gaap_RestrictedCash" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCash" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCash"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCash" xlink:to="lab_us-gaap_RestrictedCash" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerAbstract_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AllIndividualsMember_terseLabel_en-US" xlink:label="lab_ecd_AllIndividualsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Individuals</link:label>
    <link:label id="lab_ecd_AllIndividualsMember_label_en-US" xlink:label="lab_ecd_AllIndividualsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Individuals [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AllIndividualsMember" xlink:to="lab_ecd_AllIndividualsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PledgingPurposeAxis_1a6d67af-e572-4a48-a050-d2054af8817c_terseLabel_en-US" xlink:label="lab_us-gaap_PledgingPurposeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pledging Purpose [Axis]</link:label>
    <link:label id="lab_us-gaap_PledgingPurposeAxis_label_en-US" xlink:label="lab_us-gaap_PledgingPurposeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pledging Purpose [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PledgingPurposeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PledgingPurposeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PledgingPurposeAxis" xlink:to="lab_us-gaap_PledgingPurposeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SupplementalCashFlowInformationAbstract_ad1b38f0-919c-4f5a-a1bd-8c712ab79f67_terseLabel_en-US" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental disclosures of cash flow information</link:label>
    <link:label id="lab_us-gaap_SupplementalCashFlowInformationAbstract_label_en-US" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental Cash Flow Information [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_4e62581a-05ef-461c-b9c6-b2719fd0598c_terseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other expense, net</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_d755659a-f86b-4e09-8c5d-c95391bf3a46_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other income (expense), net</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Nonoperating Income (Expense)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:to="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFilerCategory_e64dc4c9-e53f-4fbf-914d-ffc65ebbe438_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:label id="lab_dei_EntityFilerCategory_label_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory" xlink:to="lab_dei_EntityFilerCategory" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PurchaseObligation_f0b6ab0a-9d81-4757-bfea-dbcb96bd97ea_totalLabel_en-US" xlink:label="lab_us-gaap_PurchaseObligation" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total purchase commitments</link:label>
    <link:label id="lab_us-gaap_PurchaseObligation_label_en-US" xlink:label="lab_us-gaap_PurchaseObligation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase Obligation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseObligation" xlink:to="lab_us-gaap_PurchaseObligation" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NonPeoNeoAvgTotalCompAmt_terseLabel_en-US" xlink:label="lab_ecd_NonPeoNeoAvgTotalCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-PEO NEO Average Total Compensation Amount</link:label>
    <link:label id="lab_ecd_NonPeoNeoAvgTotalCompAmt_label_en-US" xlink:label="lab_ecd_NonPeoNeoAvgTotalCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-PEO NEO Average Total Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoAvgTotalCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoAvgTotalCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonPeoNeoAvgTotalCompAmt" xlink:to="lab_ecd_NonPeoNeoAvgTotalCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementTable_1a88720b-a797-437e-86d6-3611d08004d6_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:label id="lab_us-gaap_StatementTable_label_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable" xlink:to="lab_us-gaap_StatementTable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_d80a3f15-41d0-41c1-a2b4-8de3b3116844_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate" xlink:to="lab_dei_CurrentFiscalYearEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_2d54e354-c5bb-45e7-b05b-9b6a76681b65_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income Per Share</link:label>
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_8286ef23-bf31-4141-8134-752acd26f08d_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock repurchase program, authorized amount</link:label>
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program, Authorized Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:to="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_ExecutiveOfficer3Member_fc490354-adca-4d8f-b1f9-3ca6f97efebd_terseLabel_en-US" xlink:label="lab_qlys_ExecutiveOfficer3Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive Officer 3</link:label>
    <link:label id="lab_qlys_ExecutiveOfficer3Member_label_en-US" xlink:label="lab_qlys_ExecutiveOfficer3Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive Officer 3 [Member]</link:label>
    <link:label id="lab_qlys_ExecutiveOfficer3Member_documentation_en-US" xlink:label="lab_qlys_ExecutiveOfficer3Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents executive officer 3.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ExecutiveOfficer3Member" xlink:href="qlys-20231231.xsd#qlys_ExecutiveOfficer3Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_ExecutiveOfficer3Member" xlink:to="lab_qlys_ExecutiveOfficer3Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_bf00de7a-d12b-4fbd-8c58-193c57b62aa2_negatedLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchase of common stock (in shares)</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchased During Period, Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_750bbe9b-bf65-423f-bc5a-b71d722a5ee2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefits_cfefebab-bae4-474f-81ad-a06c45b85570_periodStartLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefits" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized tax benefits beginning balance</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefits_aac045ed-1e69-4035-a4fa-a46013a6a979_periodEndLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefits" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total unrecognized tax benefits</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefits_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefits" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Tax Benefits</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefits" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefits" xlink:to="lab_us-gaap_UnrecognizedTaxBenefits" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_cb88cbf2-4ae0-403c-805e-a6553d15bee3_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:to="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PeoName_terseLabel_en-US" xlink:label="lab_ecd_PeoName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PEO Name</link:label>
    <link:label id="lab_ecd_PeoName_label_en-US" xlink:label="lab_ecd_PeoName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PEO Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeoName" xlink:to="lab_ecd_PeoName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_d4ec687e-558a-49bc-9dd5-f656b268dfb8_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Volatility, minimum</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_b2599720-d4e8-41bc-9f1c-9f9cb3c3758e_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current</link:label>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_label_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_0a864ef0-cf39-4e6b-8ac4-dc012f94396f_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accumulated Other Comprehensive Income (Loss)</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_7906143d-7a79-46ab-9dd2-f53c254a19ad_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesAuthorized" xlink:to="lab_us-gaap_PreferredStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_64b85fe9-9f16-4428-b828-1c49c488f708_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State taxes</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Investments_ee43a4c9-49ce-4c43-88fd-ad067ee3ba67_terseLabel_en-US" xlink:label="lab_us-gaap_Investments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investments</link:label>
    <link:label id="lab_us-gaap_Investments_label_en-US" xlink:label="lab_us-gaap_Investments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Investments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Investments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Investments" xlink:to="lab_us-gaap_Investments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_ddae86f3-f5d8-4642-8940-37a318ab81c6_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashCurrent_8e8abde3-3aaf-40c7-9c30-3203ade56166_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted cash</link:label>
    <link:label id="lab_us-gaap_RestrictedCashCurrent_label_en-US" xlink:label="lab_us-gaap_RestrictedCashCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashCurrent" xlink:to="lab_us-gaap_RestrictedCashCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_df013a4b-e689-4b08-8d57-4ff5c601441a_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesOutstanding" xlink:to="lab_us-gaap_PreferredStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetBackedSecuritiesMember_099c3700-8720-433c-a1b6-5c423a607eb4_terseLabel_en-US" xlink:label="lab_us-gaap_AssetBackedSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset-backed securities</link:label>
    <link:label id="lab_us-gaap_AssetBackedSecuritiesMember_label_en-US" xlink:label="lab_us-gaap_AssetBackedSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset-Backed Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetBackedSecuritiesMember" xlink:to="lab_us-gaap_AssetBackedSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy_24df8d2f-b075-417a-ac99-2d2e834719a5_terseLabel_en-US" xlink:label="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable</link:label>
    <link:label id="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy_label_en-US" xlink:label="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_31fd0086-e62c-4925-808e-0cfbef0cbd71_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_11b3eab0-88db-420c-81c0-c84516bdbab2_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_292615a9-5974-4aef-8207-cbee516d90ff_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense</link:label>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_country_IN_5c6b82e9-3be1-4ba8-883e-0450943e1f63_terseLabel_en-US" xlink:label="lab_country_IN" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">India</link:label>
    <link:label id="lab_country_IN_label_en-US" xlink:label="lab_country_IN" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">INDIA</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_IN" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_IN"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_IN" xlink:to="lab_country_IN" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months_3f9ea244-99e3-4059-a61e-b3d06a69f4ad_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrealized gains (losses) before tax</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Currency Cash Flow Hedge Gain (Loss) to be Reclassified During Next 12 Months</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months" xlink:to="lab_us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ErrCompRecoveryTable_terseLabel_en-US" xlink:label="lab_ecd_ErrCompRecoveryTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Erroneously Awarded Compensation Recovery</link:label>
    <link:label id="lab_ecd_ErrCompRecoveryTable_label_en-US" xlink:label="lab_ecd_ErrCompRecoveryTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Erroneously Awarded Compensation Recovery [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ErrCompRecoveryTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ErrCompRecoveryTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ErrCompRecoveryTable" xlink:to="lab_ecd_ErrCompRecoveryTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_38aac756-c447-4226-be18-3b926e02f1dd_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term marketable securities</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DepreciationDepletionAndAmortization_fbff2b4f-1a5a-43aa-8b0a-225e4ce10d69_terseLabel_en-US" xlink:label="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation and amortization expense</link:label>
    <link:label id="lab_us-gaap_DepreciationDepletionAndAmortization_label_en-US" xlink:label="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation, Depletion and Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DepreciationDepletionAndAmortization" xlink:to="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_d2f3cc5b-aa51-40c5-8860-a7262c378bbc_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash and Cash Equivalents Items [Line Items]</link:label>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_label_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash and Cash Equivalents Items [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems" xlink:to="lab_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FurnitureAndFixturesMember_aefa2dd1-664c-4a62-877b-424f0ee1b981_terseLabel_en-US" xlink:label="lab_us-gaap_FurnitureAndFixturesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Furniture, fixtures and equipment</link:label>
    <link:label id="lab_us-gaap_FurnitureAndFixturesMember_label_en-US" xlink:label="lab_us-gaap_FurnitureAndFixturesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Furniture and Fixtures [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FurnitureAndFixturesMember" xlink:to="lab_us-gaap_FurnitureAndFixturesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardTmgHowMnpiCnsdrdTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing, How MNPI Considered</link:label>
    <link:label id="lab_ecd_AwardTmgHowMnpiCnsdrdTextBlock_label_en-US" xlink:label="lab_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing, How MNPI Considered [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgHowMnpiCnsdrdTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:to="lab_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_0cac84bc-8602-4503-b406-d685c28fdfb8_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination and Asset Acquisition [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:to="lab_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquity_5a105341-2cfc-402f-bb91-8433ecde89b6_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total stockholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_5ac9494d-79e9-4187-b569-86df81d5ac1c_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_94dee456-0650-4227-8cf5-341327e51725_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_label_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="lab_us-gaap_StockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_ddd34fe6-0e3f-433d-91b3-1693df468967_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized tax benefits</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Tax Benefits that Would Impact Effective Tax Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_13f53952-2293-46c4-8f29-69d15b254ddc_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions_588832b9-aede-4259-844e-9bca0e172e2a_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Exercise of Option, Tax Benefit</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Exercise of Option, Tax Benefit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_6fe85ef3-f2fb-4ba2-9479-5c263334aa2e_negatedLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Valuation allowance</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_57e172d5-30dd-414b-9729-b50b46273019_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Valuation allowance</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8a18c447-3ffd-4813-9e68-9f4709005fe8_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_4454713f-09de-4a35-9a36-bad30f9a1636_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenues recognized</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Revenue Recognized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_615638ba-8c86-42c8-a4df-aa8fb58d7762_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other foreign currency transactions losses</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_8e5edeba-1ea0-4857-901b-bf02d8067821_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_ca8952a5-7d85-4861-8d16-5da95ee80601_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flow hedges</link:label>
    <link:label id="lab_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:to="lab_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_83cd42ff-53f9-4043-b206-ccf078e0d3d2_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expected term (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_8d5d0b70-3e75-47f8-851e-c8135d2dbdf4_terseLabel_en-US" xlink:label="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding and expected to vest (in USD per share)</link:label>
    <link:label id="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_label_en-US" xlink:label="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expected to vest, weighted average grant date fair value (in dollars per share)</link:label>
    <link:label id="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_documentation_en-US" xlink:label="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents weighted average exercise for share-based compensation arrangement by share-based payment award for equity instruments other than options, expected to vest.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:to="lab_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_c35d15cb-4154-4412-9277-bd36fa4b1cdc_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income before income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable_264cd5b2-2063-474d-861f-71ad2a546317_terseLabel_en-US" xlink:label="lab_qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Eligible compensation contributable, percentage</link:label>
    <link:label id="lab_qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable_label_en-US" xlink:label="lab_qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Stock Purchase Plan, Percentage Of Eligible Compensation Contributable</link:label>
    <link:label id="lab_qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable_documentation_en-US" xlink:label="lab_qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents the percentage of employee's eligible compensation that can be used to contribute, through payroll withholding, to an employee stock purchase plan.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable" xlink:href="qlys-20231231.xsd#qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable" xlink:to="lab_qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireIntangibleAssets_2a06d276-56dd-4daf-9ad9-e1c57df7fb8c_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to acquire intangibles</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireIntangibleAssets_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireIntangibleAssets" xlink:to="lab_us-gaap_PaymentsToAcquireIntangibleAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NondesignatedMember_4e90d79c-62be-4dff-964b-c7ef71f8c783_terseLabel_en-US" xlink:label="lab_us-gaap_NondesignatedMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Not Designated as Hedging Instrument</link:label>
    <link:label id="lab_us-gaap_NondesignatedMember_bd05accb-7f2c-4ed2-a3ac-342f5940b518_verboseLabel_en-US" xlink:label="lab_us-gaap_NondesignatedMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency forward contracts not designated as hedging instruments</link:label>
    <link:label id="lab_us-gaap_NondesignatedMember_label_en-US" xlink:label="lab_us-gaap_NondesignatedMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Not Designated as Hedging Instrument [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NondesignatedMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NondesignatedMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NondesignatedMember" xlink:to="lab_us-gaap_NondesignatedMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareReconciliationAbstract_402c4ef5-087a-4029-9c63-3fb66fbd70b8_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareReconciliationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income per share:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareReconciliationAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareReconciliationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share Reconciliation [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareReconciliationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareReconciliationAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareReconciliationAbstract" xlink:to="lab_us-gaap_EarningsPerShareReconciliationAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent_928a2270-b4d2-441f-b5d5-cec8437ec83a_terseLabel_en-US" xlink:label="lab_us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change in unrealized gains (losses) during the period</link:label>
    <link:label id="lab_us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent_label_en-US" xlink:label="lab_us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">OCI, before Reclassifications, before Tax, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent" xlink:to="lab_us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_2801e18e-ffeb-4abe-9fc4-2bf30d659e6b_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_692a0510-43c4-47fa-8898-7e5f746d3f20_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, issued (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesIssued" xlink:to="lab_us-gaap_PreferredStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_HedgingDesignationDomain_514939ea-60cd-4d96-bf1e-d8d8770ef5ac_terseLabel_en-US" xlink:label="lab_us-gaap_HedgingDesignationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hedging Designation [Domain]</link:label>
    <link:label id="lab_us-gaap_HedgingDesignationDomain_label_en-US" xlink:label="lab_us-gaap_HedgingDesignationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hedging Designation [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_HedgingDesignationDomain" xlink:to="lab_us-gaap_HedgingDesignationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_50c9db88-941d-4a79-8f1c-5a6543abfc9c_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Level 2</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel2Member" xlink:to="lab_us-gaap_FairValueInputsLevel2Member" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_AssetsAndLiabilitiesLesseeTableTextBlock_3edac2bb-368e-4264-a754-0b65279e040f_terseLabel_en-US" xlink:label="lab_qlys_AssetsAndLiabilitiesLesseeTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Weighted Average Remaining Lease Term and Weighted Average Discount Rate</link:label>
    <link:label id="lab_qlys_AssetsAndLiabilitiesLesseeTableTextBlock_label_en-US" xlink:label="lab_qlys_AssetsAndLiabilitiesLesseeTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets And Liabilities, Lessee [Table Text Block]</link:label>
    <link:label id="lab_qlys_AssetsAndLiabilitiesLesseeTableTextBlock_documentation_en-US" xlink:label="lab_qlys_AssetsAndLiabilitiesLesseeTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets And Liabilities, Lessee [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetsAndLiabilitiesLesseeTableTextBlock" xlink:href="qlys-20231231.xsd#qlys_AssetsAndLiabilitiesLesseeTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_AssetsAndLiabilitiesLesseeTableTextBlock" xlink:to="lab_qlys_AssetsAndLiabilitiesLesseeTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock_c166c454-5921-4bd0-83d4-e1dcede43fce_terseLabel_en-US" xlink:label="lab_qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted cash and Short-Term and Long-Term Marketable Securities</link:label>
    <link:label id="lab_qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock_label_en-US" xlink:label="lab_qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents and Short-Term and Long-Term Investments Policy [Policy Text Block]</link:label>
    <link:label id="lab_qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock_documentation_en-US" xlink:label="lab_qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting policies disclosure for cash, cash equivalent and short-term and long-term investments.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock" xlink:href="qlys-20231231.xsd#qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock" xlink:to="lab_qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_0b4d3abe-cf75-4b11-9db2-eb849d56511c_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember_c29f2e61-aead-4fba-9b20-17b2f9252b56_terseLabel_en-US" xlink:label="lab_qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Held in Escrow With Blue Hexagon Acquisition</link:label>
    <link:label id="lab_qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember_label_en-US" xlink:label="lab_qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Held in Escrow With Blue Hexagon Acquisition [Member]</link:label>
    <link:label id="lab_qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember_documentation_en-US" xlink:label="lab_qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents Cash Held in Escrow With Blue Hexagon Acquisition.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember" xlink:href="qlys-20231231.xsd#qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember" xlink:to="lab_qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireProductiveAssets_779fbdbf-f6e8-4fea-a57a-d8974229dda0_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireProductiveAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for assets</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireProductiveAssets_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireProductiveAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Productive Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireProductiveAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireProductiveAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireProductiveAssets" xlink:to="lab_us-gaap_PaymentsToAcquireProductiveAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill_164fc2f4-861b-42cf-b24d-b3a82e5b8e38_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible assets, net</link:label>
    <link:label id="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill_0613536a-0269-4e33-a67d-7cdb31af6ae2_totalLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible assets, net</link:label>
    <link:label id="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill_label_en-US" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible Assets, Net (Excluding Goodwill)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsGross_93414de5-3f6e-4d40-9e32-e41a0b562927_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsGross" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross deferred tax assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsGross_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsGross" xlink:to="lab_us-gaap_DeferredTaxAssetsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_c11005ae-988c-483b-8f84-79564af53eff_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Derivative Instruments, Gain (Loss)</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:to="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9ff65891-7ae2-4108-aa6a-35ce8847950a_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NamedExecutiveOfficersFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_NamedExecutiveOfficersFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Named Executive Officers, Footnote</link:label>
    <link:label id="lab_ecd_NamedExecutiveOfficersFnTextBlock_label_en-US" xlink:label="lab_ecd_NamedExecutiveOfficersFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Named Executive Officers, Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NamedExecutiveOfficersFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NamedExecutiveOfficersFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NamedExecutiveOfficersFnTextBlock" xlink:to="lab_ecd_NamedExecutiveOfficersFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_eda81933-7e14-4adf-ab4b-ae0b3b4ab519_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus" xlink:to="lab_dei_DocumentFiscalPeriodFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_989b9032-9dcb-4aa3-920c-5302a3f6755a_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_690a064b-6c60-46db-b4f2-332bc375f89c_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated useful life</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_93ce6662-4373-4fda-a20a-7820b0ce8710_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Life (Years)</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_c236ff52-3b59-4573-958f-43bec5c115fb_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued liabilities and other noncurrent liabilities</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PvpTableTextBlock_terseLabel_en-US" xlink:label="lab_ecd_PvpTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pay vs Performance Disclosure, Table</link:label>
    <link:label id="lab_ecd_PvpTableTextBlock_label_en-US" xlink:label="lab_ecd_PvpTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pay vs Performance [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PvpTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PvpTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PvpTableTextBlock" xlink:to="lab_ecd_PvpTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_b2ce8ddb-d34d-4eb5-88c3-bbbf58388b2f_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_11d185e3-9924-44b8-8eb2-81b8eaa6ffe3_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2027</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TrdArrIndTitle_terseLabel_en-US" xlink:label="lab_ecd_TrdArrIndTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title</link:label>
    <link:label id="lab_ecd_TrdArrIndTitle_label_en-US" xlink:label="lab_ecd_TrdArrIndTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangement, Individual Title</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrIndTitle" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrIndTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrIndTitle" xlink:to="lab_ecd_TrdArrIndTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_66fe3689-86ef-417f-bcf7-c4521cf884fc_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_5bae36c3-3855-4dd5-a40d-36bbd452f8a7_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseExpense_55471b5a-4849-4bdc-a44d-a721cd2fa35c_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease expense</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseExpense_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseExpense" xlink:to="lab_us-gaap_OperatingLeaseExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensation_ea8b8b40-2529-4d0c-a8c8-9bcfe727489a_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation, net of amounts capitalized</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Noncash Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensation" xlink:to="lab_us-gaap_ShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_PerformanceBasedRestrictedStockUnitsMember_8dd91cc0-b2b9-4b03-9c66-52f906e3e218_terseLabel_en-US" xlink:label="lab_qlys_PerformanceBasedRestrictedStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance-based Restricted Stock Units</link:label>
    <link:label id="lab_qlys_PerformanceBasedRestrictedStockUnitsMember_label_en-US" xlink:label="lab_qlys_PerformanceBasedRestrictedStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance-based Restricted Stock Units [Member]</link:label>
    <link:label id="lab_qlys_PerformanceBasedRestrictedStockUnitsMember_documentation_en-US" xlink:label="lab_qlys_PerformanceBasedRestrictedStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Information related to performance-based restricted stock units.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PerformanceBasedRestrictedStockUnitsMember" xlink:href="qlys-20231231.xsd#qlys_PerformanceBasedRestrictedStockUnitsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_PerformanceBasedRestrictedStockUnitsMember" xlink:to="lab_qlys_PerformanceBasedRestrictedStockUnitsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockMember_c730e31b-1711-44f0-a09b-a04e34cd6e68_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock</link:label>
    <link:label id="lab_us-gaap_CommonStockMember_label_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember" xlink:to="lab_us-gaap_CommonStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignCountryMember_204ec131-ae75-4454-9314-c014391a4fbf_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCountryMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Tax Authority</link:label>
    <link:label id="lab_us-gaap_ForeignCountryMember_label_en-US" xlink:label="lab_us-gaap_ForeignCountryMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Tax Authority [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCountryMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCountryMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCountryMember" xlink:to="lab_us-gaap_ForeignCountryMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_26bfd155-c7cc-455c-89d9-f4b3294778ec_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term marketable securities</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_IndividualAxis_terseLabel_en-US" xlink:label="lab_ecd_IndividualAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Individual:</link:label>
    <link:label id="lab_ecd_IndividualAxis_label_en-US" xlink:label="lab_ecd_IndividualAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Individual [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_IndividualAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_IndividualAxis" xlink:to="lab_ecd_IndividualAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CityAreaCode_b95f2814-6150-4e40-9cb4-73f792d20192_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:label id="lab_dei_CityAreaCode_label_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressPostalZipCode_5a83cc84-78ca-4729-90d0-3de403d6f2fe_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:label id="lab_dei_EntityAddressPostalZipCode_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_333f098a-fc9c-4cf8-b4c9-87cfd53532eb_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income Per Share</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareTextBlock" xlink:to="lab_us-gaap_EarningsPerShareTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_b74f8445-5757-4a42-aabe-afaf7160ac58_negatedLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lapse of statute of limitations</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Tax Benefits, Reduction Resulting from Lapse of Applicable Statute of Limitations</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_695a312d-96b9-489d-ac72-d7fe6950ef72_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain" xlink:to="lab_us-gaap_IncomeStatementLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalYearFocus_6b45d72a-647b-42a2-bece-2eae3246c2ee_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalYearFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus" xlink:to="lab_dei_DocumentFiscalYearFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_SegmentGeographicalDomain_911928fb-725e-4ffa-bd5e-e766d0aba089_terseLabel_en-US" xlink:label="lab_srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:label id="lab_srt_SegmentGeographicalDomain_label_en-US" xlink:label="lab_srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_SegmentGeographicalDomain" xlink:to="lab_srt_SegmentGeographicalDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_DescriptionOfBusinessPolicyPolicyTextBlock_e67766d6-9f26-4dba-a3e8-cceacb1a61ab_terseLabel_en-US" xlink:label="lab_qlys_DescriptionOfBusinessPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Description Of Business</link:label>
    <link:label id="lab_qlys_DescriptionOfBusinessPolicyPolicyTextBlock_label_en-US" xlink:label="lab_qlys_DescriptionOfBusinessPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Description Of Business Policy [Policy Text Block]</link:label>
    <link:label id="lab_qlys_DescriptionOfBusinessPolicyPolicyTextBlock_documentation_en-US" xlink:label="lab_qlys_DescriptionOfBusinessPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disclosure of accounting policy for description of business.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_DescriptionOfBusinessPolicyPolicyTextBlock" xlink:href="qlys-20231231.xsd#qlys_DescriptionOfBusinessPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_DescriptionOfBusinessPolicyPolicyTextBlock" xlink:to="lab_qlys_DescriptionOfBusinessPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_ee28eeb9-1281-4087-87d0-66fe51d1afe8_terseLabel_en-US" xlink:label="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software Developed for Internal Use</link:label>
    <link:label id="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_label_en-US" xlink:label="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software and Software Development Costs [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:to="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MinimumMember_1572d52a-b561-43aa-ad76-dce51e951c52_terseLabel_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum</link:label>
    <link:label id="lab_srt_MinimumMember_label_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MinimumMember" xlink:to="lab_srt_MinimumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_848e902c-fc20-48fa-b48b-b5263f3594f2_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average shares used in computing net income per share:</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_2ae4600a-24a9-4a2c-8d51-d55ec0d7a60d_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_327c2aa0-b6f7-47ca-b490-a30cb9f0f08e_totalLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SalesChannelDirectlyToConsumerMember_d80de793-65ca-4518-9264-9578b68978ff_terseLabel_en-US" xlink:label="lab_us-gaap_SalesChannelDirectlyToConsumerMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Direct</link:label>
    <link:label id="lab_us-gaap_SalesChannelDirectlyToConsumerMember_label_en-US" xlink:label="lab_us-gaap_SalesChannelDirectlyToConsumerMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales Channel, Directly to Consumer [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesChannelDirectlyToConsumerMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesChannelDirectlyToConsumerMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesChannelDirectlyToConsumerMember" xlink:to="lab_us-gaap_SalesChannelDirectlyToConsumerMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_016ced9f-7f1d-4ce5-b34a-1614762a2a48_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Stock Option Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Option, Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_3589426b-a58f-46a1-86e7-2b2caf27d498_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Acquired Finite-Lived Intangible Assets by Major Class</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:to="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardExrcPrice_terseLabel_en-US" xlink:label="lab_ecd_AwardExrcPrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price</link:label>
    <link:label id="lab_ecd_AwardExrcPrice_label_en-US" xlink:label="lab_ecd_AwardExrcPrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardExrcPrice" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardExrcPrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardExrcPrice" xlink:to="lab_ecd_AwardExrcPrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_e42448db-6a7f-4e69-9ff5-f8abb0e938b3_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Cash_88da5cd7-e2ec-493c-8592-a45429a7260c_terseLabel_en-US" xlink:label="lab_us-gaap_Cash" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash excluded</link:label>
    <link:label id="lab_us-gaap_Cash_label_en-US" xlink:label="lab_us-gaap_Cash" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Cash" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Cash" xlink:to="lab_us-gaap_Cash" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_b92dd409-ff5a-40c1-915c-0319ff07fd35_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems_7cf00b8f-7e1a-4a1c-8e54-f43f533839e2_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems" xlink:to="lab_us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsAbstract_761109f2-63f3-4506-b94d-c03a19492862_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:label id="lab_us-gaap_AssetsAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract" xlink:to="lab_us-gaap_AssetsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardTmgMnpiDiscTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AwardTmgMnpiDiscTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing MNPI Disclosure</link:label>
    <link:label id="lab_ecd_AwardTmgMnpiDiscTextBlock_label_en-US" xlink:label="lab_ecd_AwardTmgMnpiDiscTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing MNPI Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMnpiDiscTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMnpiDiscTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgMnpiDiscTextBlock" xlink:to="lab_ecd_AwardTmgMnpiDiscTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_DeferredTaxAssetsOperatingLeaseLiabilities_2df464ce-7106-4435-b162-206edc2bc449_terseLabel_en-US" xlink:label="lab_qlys_DeferredTaxAssetsOperatingLeaseLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_qlys_DeferredTaxAssetsOperatingLeaseLiabilities_label_en-US" xlink:label="lab_qlys_DeferredTaxAssetsOperatingLeaseLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">qlys_DeferredTaxAssetsOperatingLeaseLiabilities</link:label>
    <link:label id="lab_qlys_DeferredTaxAssetsOperatingLeaseLiabilities_documentation_en-US" xlink:label="lab_qlys_DeferredTaxAssetsOperatingLeaseLiabilities" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from operating lease liabilities.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_DeferredTaxAssetsOperatingLeaseLiabilities" xlink:href="qlys-20231231.xsd#qlys_DeferredTaxAssetsOperatingLeaseLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_DeferredTaxAssetsOperatingLeaseLiabilities" xlink:to="lab_qlys_DeferredTaxAssetsOperatingLeaseLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber_b908a5e5-d232-4d1a-bf6e-50e791145778_terseLabel_en-US" xlink:label="lab_qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding and expected to vest (in shares)</link:label>
    <link:label id="lab_qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber_label_en-US" xlink:label="lab_qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expected to vest, number of shares (in shares)</link:label>
    <link:label id="lab_qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber_documentation_en-US" xlink:label="lab_qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents vested and expected to vest outstanding number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="lab_qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable_31b1af47-c5a9-45b5-a5b9-822c1ec69a14_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosure of Asset and Liability Not Measured at Fair Value [Table]</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosure of Asset and Liability Not Measured at Fair Value [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable" xlink:to="lab_us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_57cf13b2-607e-42ff-b14e-7b027193e95b_totalLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total foreign exchange losses, net</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (Loss), Foreign Currency Transaction, before Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_c1ff187f-6856-49a0-91ff-0047648bf218_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for taxes related to net share settlement of equity awards</link:label>
    <link:label id="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment, Tax Withholding, Share-Based Payment Arrangement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsNetAbstract_6c590ff7-d2d1-46d0-8359-0febd019ccb4_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNetAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsNetAbstract_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNetAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Net [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNetAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="lab_us-gaap_DeferredTaxAssetsNetAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOther_9024030a-6cbb-4b8d-83e1-f5c420aa0cef_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOther" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOther_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOther" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Other</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsOther" xlink:to="lab_us-gaap_DeferredTaxAssetsOther" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_a8355ccd-a8fd-4075-be5b-d4475804d690_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid for income taxes, net of refunds</link:label>
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_label_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes Paid, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxesPaidNet" xlink:to="lab_us-gaap_IncomeTaxesPaidNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_e547d23c-c5be-4194-9c58-1c73dc1418ea_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash used in financing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxAssetsNet_cecb7555-7cd7-4d88-8c1b-061025265981_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax assets, net</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxAssetsNet_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_c55a0825-9f2f-4409-b25b-8dc0094865e1_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Fair Value Hierarchy of Financial Assets and Liabilities</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Assets Measured on Recurring Basis [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:to="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_a820aad3-2a0f-43f7-9dc3-72cb3c028a59_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitment and Contingencies</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DevelopedTechnologyRightsMember_cc1ac3be-55b7-41b0-a350-138e26b5839d_terseLabel_en-US" xlink:label="lab_us-gaap_DevelopedTechnologyRightsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Developed technology</link:label>
    <link:label id="lab_us-gaap_DevelopedTechnologyRightsMember_label_en-US" xlink:label="lab_us-gaap_DevelopedTechnologyRightsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Developed Technology Rights [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DevelopedTechnologyRightsMember" xlink:to="lab_us-gaap_DevelopedTechnologyRightsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsMember_d04cbd05-e118-4f62-85a7-6b2fc467b0fb_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsMember_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember" xlink:to="lab_us-gaap_RetainedEarningsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_5a7993e9-1dfd-4eb2-954b-d738e3520d76_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Stock-Based Compensation</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AdjToNonPeoNeoCompFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment to Non-PEO NEO Compensation Footnote</link:label>
    <link:label id="lab_ecd_AdjToNonPeoNeoCompFnTextBlock_label_en-US" xlink:label="lab_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment to Non-PEO NEO Compensation Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToNonPeoNeoCompFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:to="lab_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_e5a8d133-2c3c-4a1a-b689-a43224380ca6_negatedLabel_en-US" xlink:label="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization (accretion) of premiums (discount) on marketable securities, net</link:label>
    <link:label id="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_label_en-US" xlink:label="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accretion (Amortization) of Discounts and Premiums, Investments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:to="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_ec4519c0-06c5-48b7-8f99-a8694fe99d25_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities and stockholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_0ccdacef-096e-46a8-8d02-7a51cb7a9346_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortized Cost</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NonoperatingIncomeExpenseAbstract_4a5ea3d5-6d7e-4119-8254-6083794c5dc5_terseLabel_en-US" xlink:label="lab_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other income (expense), net:</link:label>
    <link:label id="lab_us-gaap_NonoperatingIncomeExpenseAbstract_label_en-US" xlink:label="lab_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nonoperating Income (Expense) [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpenseAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="lab_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_71383a84-7c48-40b9-b029-05c248a9a4db_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other noncurrent assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrent" xlink:to="lab_us-gaap_OtherAssetsNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PeerGroupTotalShareholderRtnAmt_terseLabel_en-US" xlink:label="lab_ecd_PeerGroupTotalShareholderRtnAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Peer Group Total Shareholder Return Amount</link:label>
    <link:label id="lab_ecd_PeerGroupTotalShareholderRtnAmt_label_en-US" xlink:label="lab_ecd_PeerGroupTotalShareholderRtnAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Peer Group Total Shareholder Return Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeerGroupTotalShareholderRtnAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeerGroupTotalShareholderRtnAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeerGroupTotalShareholderRtnAmt" xlink:to="lab_ecd_PeerGroupTotalShareholderRtnAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_e60d4687-918d-45e2-9ed2-c34205b3a7f3_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Risk-free interest rate</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_60d4c515-4b43-40c3-8999-7ceeea8c27bc_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Remaining Life (Years)</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Remaining Amortization Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_d4646859-a84d-4510-b891-dbc1f1f6d5fe_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic (in USD per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasic" xlink:to="lab_us-gaap_EarningsPerShareBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_9716ca5b-14c3-4722-bc7d-cd40a4afa9ac_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating leases - right of use asset</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_e45b50cc-0079-4594-a51e-b042e4ab79a8_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock through employee stock purchase plan</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Employee Stock Purchase Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_d8f68db6-fcc8-42df-9842-8a6774abbbca_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract" xlink:to="lab_us-gaap_AccountingPoliciesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_EquityValuationAssumptionDifferenceFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Valuation Assumption Difference, Footnote</link:label>
    <link:label id="lab_ecd_EquityValuationAssumptionDifferenceFnTextBlock_label_en-US" xlink:label="lab_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Valuation Assumption Difference, Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_EquityValuationAssumptionDifferenceFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:to="lab_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_5f4d8a60-3e3a-4ddc-a4cf-3ed707b04af8_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Risk-free interest rate, maximum</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ErrCompAnalysisTextBlock_terseLabel_en-US" xlink:label="lab_ecd_ErrCompAnalysisTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Erroneous Compensation Analysis</link:label>
    <link:label id="lab_ecd_ErrCompAnalysisTextBlock_label_en-US" xlink:label="lab_ecd_ErrCompAnalysisTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Erroneous Compensation Analysis [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ErrCompAnalysisTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ErrCompAnalysisTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ErrCompAnalysisTextBlock" xlink:to="lab_ecd_ErrCompAnalysisTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentForeignTaxExpenseBenefit_dd7ad858-8b60-4e0d-8946-b9d42f10f670_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentForeignTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign</link:label>
    <link:label id="lab_us-gaap_CurrentForeignTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentForeignTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Foreign Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentForeignTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentForeignTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentForeignTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_d34fe576-0c97-4b98-8c8f-ff629c206162_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Volatility, maximum</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet_d768815e-03de-4a3e-bfa3-879b80241b10_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net deferred tax assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_6947031e-49e0-4f30-97bf-be3fa96ac5eb_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intrinsic value of options exercised</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TrdArrDuration_terseLabel_en-US" xlink:label="lab_ecd_TrdArrDuration" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Arrangement Duration</link:label>
    <link:label id="lab_ecd_TrdArrDuration_label_en-US" xlink:label="lab_ecd_TrdArrDuration" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangement Duration</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrDuration" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrDuration"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrDuration" xlink:to="lab_ecd_TrdArrDuration" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock_70ecf3a6-20ff-4103-b132-4f5b6932f3cc_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Gross Unrealized Losses and Fair Value of Marketable Securities</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Unrealized Loss Position, Fair Value [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_9f62e3e6-f7a5-4982-a731-c6094cb88fff_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:label id="lab_dei_EntityAddressCityOrTown_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardTmgMnpiCnsdrdFlag_terseLabel_en-US" xlink:label="lab_ecd_AwardTmgMnpiCnsdrdFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing MNPI Considered</link:label>
    <link:label id="lab_ecd_AwardTmgMnpiCnsdrdFlag_label_en-US" xlink:label="lab_ecd_AwardTmgMnpiCnsdrdFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing MNPI Considered [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMnpiCnsdrdFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMnpiCnsdrdFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgMnpiCnsdrdFlag" xlink:to="lab_ecd_AwardTmgMnpiCnsdrdFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost_5b2e436f-4cfc-43fe-8378-842374a5f865_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset-backed securities</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Maturity, without Single Maturity Date, Amortized Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PurchaseObligationDueInSecondYear_fd764901-6792-4fad-a642-6dd61637590b_verboseLabel_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInSecondYear" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_PurchaseObligationDueInSecondYear_label_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInSecondYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase Obligation, to be Paid, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInSecondYear" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInSecondYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseObligationDueInSecondYear" xlink:to="lab_us-gaap_PurchaseObligationDueInSecondYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_2b357726-090c-4920-bd71-9deea79694be_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average remaining contractual life, vested and expected to vest (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_6febdc5f-bf74-4716-b5e6-678393a31957_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding options, exercisable (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PurchaseObligationDueInThirdYear_d5f5d92d-2807-4548-9553-5d4d58e73c8b_verboseLabel_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInThirdYear" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_PurchaseObligationDueInThirdYear_label_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInThirdYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase Obligation, to be Paid, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInThirdYear" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInThirdYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseObligationDueInThirdYear" xlink:to="lab_us-gaap_PurchaseObligationDueInThirdYear" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentTransitionReport_881cb9f8-7134-4916-b986-0bcc3549dd98_terseLabel_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:label id="lab_dei_DocumentTransitionReport_label_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentTransitionReport" xlink:to="lab_dei_DocumentTransitionReport" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardTmgPredtrmndFlag_terseLabel_en-US" xlink:label="lab_ecd_AwardTmgPredtrmndFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing Predetermined</link:label>
    <link:label id="lab_ecd_AwardTmgPredtrmndFlag_label_en-US" xlink:label="lab_ecd_AwardTmgPredtrmndFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing Predetermined [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgPredtrmndFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgPredtrmndFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgPredtrmndFlag" xlink:to="lab_ecd_AwardTmgPredtrmndFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SalesChannelThroughIntermediaryMember_516e50dc-71b7-4f02-90c6-bba45c5d54f2_terseLabel_en-US" xlink:label="lab_us-gaap_SalesChannelThroughIntermediaryMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Partner</link:label>
    <link:label id="lab_us-gaap_SalesChannelThroughIntermediaryMember_label_en-US" xlink:label="lab_us-gaap_SalesChannelThroughIntermediaryMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales Channel, Through Intermediary [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesChannelThroughIntermediaryMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesChannelThroughIntermediaryMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesChannelThroughIntermediaryMember" xlink:to="lab_us-gaap_SalesChannelThroughIntermediaryMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_49dd775a-6f76-4831-90bc-1ab1d4a86537_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_4c0cb190-02f0-47bf-8c9b-4f612caebdb4_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock repurchase program, remaining authorized repurchase amount</link:label>
    <link:label id="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program, Remaining Authorized Repurchase Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:to="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_AssetAcquisitionConsiderationTransferredPayable_fe0f7d87-f766-4197-a9bd-76ddce32766b_terseLabel_en-US" xlink:label="lab_qlys_AssetAcquisitionConsiderationTransferredPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consideration payable</link:label>
    <link:label id="lab_qlys_AssetAcquisitionConsiderationTransferredPayable_label_en-US" xlink:label="lab_qlys_AssetAcquisitionConsiderationTransferredPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Acquisition Consideration Transferred Payable</link:label>
    <link:label id="lab_qlys_AssetAcquisitionConsiderationTransferredPayable_documentation_en-US" xlink:label="lab_qlys_AssetAcquisitionConsiderationTransferredPayable" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consideration held in escrow for general presentation and warranties in an asset acquisition, recognized as part of consideration transferred in asset acquisition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetAcquisitionConsiderationTransferredPayable" xlink:href="qlys-20231231.xsd#qlys_AssetAcquisitionConsiderationTransferredPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_AssetAcquisitionConsiderationTransferredPayable" xlink:to="lab_qlys_AssetAcquisitionConsiderationTransferredPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TrdArrTerminationDate_terseLabel_en-US" xlink:label="lab_ecd_TrdArrTerminationDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Termination Date</link:label>
    <link:label id="lab_ecd_TrdArrTerminationDate_label_en-US" xlink:label="lab_ecd_TrdArrTerminationDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangement Termination Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrTerminationDate" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrTerminationDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrTerminationDate" xlink:to="lab_ecd_TrdArrTerminationDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_e3df437c-11f4-4979-b2a7-a55cb4ce3f9c_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales and maturities of marketable securities</link:label>
    <link:label id="lab_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_label_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Sale and Maturity of Marketable Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:to="lab_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_efdfc007-4f60-4544-b6a1-2c879900f235_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_210db4b7-4386-43d4-9687-42d3a35f42ad_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized" xlink:to="lab_us-gaap_CommonStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2ba8dc94-1319-466d-812a-e48925cc3b7b_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2385e045-9abb-41a5-8a61-624b5fe8eb98_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityPublicFloat_36f7a0b0-2b5d-4c8e-bc5a-c85b4aeef306_terseLabel_en-US" xlink:label="lab_dei_EntityPublicFloat" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Public Float</link:label>
    <link:label id="lab_dei_EntityPublicFloat_label_en-US" xlink:label="lab_dei_EntityPublicFloat" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Public Float</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityPublicFloat" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityPublicFloat" xlink:to="lab_dei_EntityPublicFloat" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_d77fdd92-685b-4ef2-8b9a-c2793dc33539_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrealized Gains</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShortTermInvestmentsMember_46611bfe-7e8d-4369-8feb-bf1b7427a2e0_terseLabel_en-US" xlink:label="lab_us-gaap_ShortTermInvestmentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term marketable securities:</link:label>
    <link:label id="lab_us-gaap_ShortTermInvestmentsMember_label_en-US" xlink:label="lab_us-gaap_ShortTermInvestmentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-Term Investments [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermInvestmentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestmentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShortTermInvestmentsMember" xlink:to="lab_us-gaap_ShortTermInvestmentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAbstract_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeInstrumentRiskAxis_a922c394-2e23-4310-bce6-7f554154c49c_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentRiskAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instrument [Axis]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentRiskAxis_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentRiskAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentRiskAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentRiskAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis" xlink:to="lab_us-gaap_DerivativeInstrumentRiskAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants_c283d99d-be87-4787-81a4-b913054089a1_terseLabel_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted stock units (in shares)</link:label>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants_label_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Call Options and Warrants</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:to="lab_us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_2cba2b65-8439-414f-aa00-fb95bb0e4ff0_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AllTradingArrangementsMember_terseLabel_en-US" xlink:label="lab_ecd_AllTradingArrangementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Trading Arrangements</link:label>
    <link:label id="lab_ecd_AllTradingArrangementsMember_label_en-US" xlink:label="lab_ecd_AllTradingArrangementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Trading Arrangements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllTradingArrangementsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllTradingArrangementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AllTradingArrangementsMember" xlink:to="lab_ecd_AllTradingArrangementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_34f9f575-8823-4630-8227-2884adabcc01_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Due within One Year</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AllAdjToCompMember_terseLabel_en-US" xlink:label="lab_ecd_AllAdjToCompMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Adjustments to Compensation</link:label>
    <link:label id="lab_ecd_AllAdjToCompMember_label_en-US" xlink:label="lab_ecd_AllAdjToCompMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Adjustments to Compensation [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllAdjToCompMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllAdjToCompMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AllAdjToCompMember" xlink:to="lab_ecd_AllAdjToCompMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardTmgDiscLineItems_label_en-US" xlink:label="lab_ecd_AwardTmgDiscLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing Disclosures [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgDiscLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgDiscLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="lab_ecd_AwardTmgDiscLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommercialPaperAtCarryingValue_75586d9d-8e7b-4ac2-a186-bbf6f08baf79_terseLabel_en-US" xlink:label="lab_us-gaap_CommercialPaperAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial paper</link:label>
    <link:label id="lab_us-gaap_CommercialPaperAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_CommercialPaperAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial Paper, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommercialPaperAtCarryingValue" xlink:to="lab_us-gaap_CommercialPaperAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain_9c643477-7075-4d0a-bb09-e31bd2951ce8_terseLabel_en-US" xlink:label="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Domain]</link:label>
    <link:label id="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain_label_en-US" xlink:label="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_JeffreyHankMember_label_en-US" xlink:label="lab_qlys_JeffreyHankMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Jeffrey Hank [Member]</link:label>
    <link:label id="lab_qlys_JeffreyHankMember_documentation_en-US" xlink:label="lab_qlys_JeffreyHankMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Jeffrey Hank</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_JeffreyHankMember" xlink:href="qlys-20231231.xsd#qlys_JeffreyHankMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_JeffreyHankMember" xlink:to="lab_qlys_JeffreyHankMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_OutstandingRecoveryCompAmt_terseLabel_en-US" xlink:label="lab_ecd_OutstandingRecoveryCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Amount</link:label>
    <link:label id="lab_ecd_OutstandingRecoveryCompAmt_label_en-US" xlink:label="lab_ecd_OutstandingRecoveryCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding Recovery Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingRecoveryCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingRecoveryCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_OutstandingRecoveryCompAmt" xlink:to="lab_ecd_OutstandingRecoveryCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock_223e65ca-9c2d-4716-a933-f6db501adaa7_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Expected Revenue from Performance Obligations</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_04459481-495d-4841-bc32-7a341ed868ad_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate fair value vested</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_beb23b4a-8520-4c10-b49a-3893130cfb5a_terseLabel_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for credit losses</link:label>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_label_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Credit Loss Expense (Reversal)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:to="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapital_3ad5d098-b22c-405e-9111-37ca7abae1a0_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapital" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapital_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapital" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid in Capital</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapital" xlink:to="lab_us-gaap_AdditionalPaidInCapital" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ExecutiveOfficerMember_afe408b2-bf0d-4ea0-806e-62cbc1ba924f_terseLabel_en-US" xlink:label="lab_srt_ExecutiveOfficerMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive Officer</link:label>
    <link:label id="lab_srt_ExecutiveOfficerMember_label_en-US" xlink:label="lab_srt_ExecutiveOfficerMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive Officer [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ExecutiveOfficerMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ExecutiveOfficerMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ExecutiveOfficerMember" xlink:to="lab_srt_ExecutiveOfficerMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue_69eb6251-7665-4602-afd5-7e439756a5bb_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Mature over Two Years</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year 5 Through 10</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_BlueHexagonIncMember_45e96dc3-42ef-465b-a85c-7c0e4b453498_terseLabel_en-US" xlink:label="lab_qlys_BlueHexagonIncMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Blue Hexagon Inc</link:label>
    <link:label id="lab_qlys_BlueHexagonIncMember_label_en-US" xlink:label="lab_qlys_BlueHexagonIncMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Blue Hexagon Inc [Member]</link:label>
    <link:label id="lab_qlys_BlueHexagonIncMember_documentation_en-US" xlink:label="lab_qlys_BlueHexagonIncMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents Blue Hexagon Inc .</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_BlueHexagonIncMember" xlink:href="qlys-20231231.xsd#qlys_BlueHexagonIncMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_BlueHexagonIncMember" xlink:to="lab_qlys_BlueHexagonIncMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_9b289472-476e-454d-82cf-19a0dc185188_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_3b3d72cb-98f9-4137-8c78-7388d600cadd_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred income tax benefit</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_96e6c622-b2e4-4ca0-a9b2-920f3e8feeb0_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeAxis" xlink:to="lab_us-gaap_SubsequentEventTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromStockOptionsExercised_dc5110ae-cc51-4c95-8dd9-137be9aa7860_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from exercise of stock options</link:label>
    <link:label id="lab_us-gaap_ProceedsFromStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Stock Options Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:to="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_ESPPSharesMember_35f966bc-b641-449a-a8fb-0653ea7c40dd_terseLabel_en-US" xlink:label="lab_qlys_ESPPSharesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ESPP Shares</link:label>
    <link:label id="lab_qlys_ESPPSharesMember_label_en-US" xlink:label="lab_qlys_ESPPSharesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ESPP Shares [Member]</link:label>
    <link:label id="lab_qlys_ESPPSharesMember_documentation_en-US" xlink:label="lab_qlys_ESPPSharesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents information regarding ESPP shares.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ESPPSharesMember" xlink:href="qlys-20231231.xsd#qlys_ESPPSharesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_ESPPSharesMember" xlink:to="lab_qlys_ESPPSharesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxPolicyTextBlock_9dcd3eff-8830-407a-adfa-d474d63a74bf_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxPolicyTextBlock" xlink:to="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_4acb252f-bdda-45b1-86bb-ba021218c9a7_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Expense and Other Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFinStmtErrorCorrectionFlag_e495b988-80ec-414c-b428-0823e3954a2a_terseLabel_en-US" xlink:label="lab_dei_DocumentFinStmtErrorCorrectionFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Financial Statement Error Correction</link:label>
    <link:label id="lab_dei_DocumentFinStmtErrorCorrectionFlag_label_en-US" xlink:label="lab_dei_DocumentFinStmtErrorCorrectionFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Financial Statement Error Correction [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFinStmtErrorCorrectionFlag" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFinStmtErrorCorrectionFlag" xlink:to="lab_dei_DocumentFinStmtErrorCorrectionFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_32542dca-897f-46ab-9a9a-0f3bd0904b4e_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_5156820c-829a-40ae-8f9d-18ddc198d1a3_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_InsiderTradingArrLineItems_label_en-US" xlink:label="lab_ecd_InsiderTradingArrLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Insider Trading Arrangements [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTradingArrLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingArrLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="lab_ecd_InsiderTradingArrLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_68a0c356-a747-4e0a-b686-2a706197b294_terseLabel_en-US" xlink:label="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent, Net of Tax [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_label_en-US" xlink:label="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent, Net of Tax [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AOCIAttributableToParentNetOfTaxRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:to="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable_5a5783db-a253-4d7f-b21b-644ce95f24df_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable, net of allowance</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization_fb6aaac0-6611-4078-ad75-3c29dea25a13_terseLabel_en-US" xlink:label="lab_qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:label id="lab_qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization_label_en-US" xlink:label="lab_qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization</link:label>
    <link:label id="lab_qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization_documentation_en-US" xlink:label="lab_qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents amount of depreciation, depletion and amortization excluding intangible asset amortization.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization" xlink:href="qlys-20231231.xsd#qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization" xlink:to="lab_qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_48b53492-d4f6-402f-8a6e-c8329a5578a5_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate Intrinsic Value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_ba0415ec-2a34-458d-9c80-ef0a735dd79e_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityRegistrantName_fcac5723-2c78-4e36-894f-727f4818db05_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_label_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_MtrlTermsOfTrdArrTextBlock_terseLabel_en-US" xlink:label="lab_ecd_MtrlTermsOfTrdArrTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Material Terms of Trading Arrangement</link:label>
    <link:label id="lab_ecd_MtrlTermsOfTrdArrTextBlock_label_en-US" xlink:label="lab_ecd_MtrlTermsOfTrdArrTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Material Terms of Trading Arrangement [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MtrlTermsOfTrdArrTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MtrlTermsOfTrdArrTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_MtrlTermsOfTrdArrTextBlock" xlink:to="lab_ecd_MtrlTermsOfTrdArrTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardTmgMethodTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AwardTmgMethodTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing Method</link:label>
    <link:label id="lab_ecd_AwardTmgMethodTextBlock_label_en-US" xlink:label="lab_ecd_AwardTmgMethodTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing Method [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMethodTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMethodTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgMethodTextBlock" xlink:to="lab_ecd_AwardTmgMethodTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_ef612af5-a3f8-40a0-a067-df7d8f1dc1f3_terseLabel_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock options (in shares)</link:label>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_label_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares_1b8c71cf-27f9-420c-a262-a8d33aa4b066_terseLabel_en-US" xlink:label="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Authorized annual increase (in shares)</link:label>
    <link:label id="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares_label_en-US" xlink:label="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement By Share-based Payment Award, Number Of Shares Authorized Annual Increase, Shares</link:label>
    <link:label id="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares_documentation_en-US" xlink:label="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents number of shares authorized for share-based compensation arrangement by share-based compensation.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares" xlink:href="qlys-20231231.xsd#qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares" xlink:to="lab_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_2039d411-2a75-44e4-9ab6-c8067188889d_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign source income</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_2bc389a6-461c-4e13-b094-19fd446fc9f2_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss_65f7cfe4-5e82-4a20-8197-6dcb663655cb_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss on non-marketable securities</link:label>
    <link:label id="lab_us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss_label_en-US" xlink:label="lab_us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Securities, FV-NI, Unrealized Gain (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss" xlink:to="lab_us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AdjToCompAmt_terseLabel_en-US" xlink:label="lab_ecd_AdjToCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment to Compensation, Amount</link:label>
    <link:label id="lab_ecd_AdjToCompAmt_label_en-US" xlink:label="lab_ecd_AdjToCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment to Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AdjToCompAmt" xlink:to="lab_ecd_AdjToCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_28de5749-022c-4ea6-8b87-3111a303391e_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from disposal of property and equipment</link:label>
    <link:label id="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Sale of Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfSalesMember_5f3a737e-990c-4370-a3ad-f1bba6ce168e_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of revenues</link:label>
    <link:label id="lab_us-gaap_CostOfSalesMember_label_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Sales [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfSalesMember" xlink:to="lab_us-gaap_CostOfSalesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentsIncorporatedByReferenceTextBlock_4c2c0393-0315-4f8f-a927-adcf5bd9f0e8_terseLabel_en-US" xlink:label="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Documents Incorporated by Reference</link:label>
    <link:label id="lab_dei_DocumentsIncorporatedByReferenceTextBlock_label_en-US" xlink:label="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_AssetAcquisitionConsiderationPayableTerm_ab78f135-0cec-4c64-92f5-2c5067dedde4_terseLabel_en-US" xlink:label="lab_qlys_AssetAcquisitionConsiderationPayableTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consideration term payable</link:label>
    <link:label id="lab_qlys_AssetAcquisitionConsiderationPayableTerm_label_en-US" xlink:label="lab_qlys_AssetAcquisitionConsiderationPayableTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Acquisition, Consideration Payable, Term</link:label>
    <link:label id="lab_qlys_AssetAcquisitionConsiderationPayableTerm_documentation_en-US" xlink:label="lab_qlys_AssetAcquisitionConsiderationPayableTerm" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Acquisition, Consideration Payable, Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetAcquisitionConsiderationPayableTerm" xlink:href="qlys-20231231.xsd#qlys_AssetAcquisitionConsiderationPayableTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_AssetAcquisitionConsiderationPayableTerm" xlink:to="lab_qlys_AssetAcquisitionConsiderationPayableTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AuditorName_83739467-dbf5-400e-a194-a707b86a3da4_terseLabel_en-US" xlink:label="lab_dei_AuditorName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Name</link:label>
    <link:label id="lab_dei_AuditorName_label_en-US" xlink:label="lab_dei_AuditorName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorName" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AuditorName" xlink:to="lab_dei_AuditorName" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentPeriodEndDate_24945540-d400-49dc-aff2-3965788bde99_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_CompActuallyPaidVsNetIncomeTextBlock_terseLabel_en-US" xlink:label="lab_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Actually Paid vs. Net Income</link:label>
    <link:label id="lab_ecd_CompActuallyPaidVsNetIncomeTextBlock_label_en-US" xlink:label="lab_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Actually Paid vs. Net Income [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsNetIncomeTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:to="lab_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PeerGroupIssuersFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_PeerGroupIssuersFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Peer Group Issuers, Footnote</link:label>
    <link:label id="lab_ecd_PeerGroupIssuersFnTextBlock_label_en-US" xlink:label="lab_ecd_PeerGroupIssuersFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Peer Group Issuers, Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeerGroupIssuersFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeerGroupIssuersFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeerGroupIssuersFnTextBlock" xlink:to="lab_ecd_PeerGroupIssuersFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TrdArrAdoptionDate_terseLabel_en-US" xlink:label="lab_ecd_TrdArrAdoptionDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adoption Date</link:label>
    <link:label id="lab_ecd_TrdArrAdoptionDate_label_en-US" xlink:label="lab_ecd_TrdArrAdoptionDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangement Adoption Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrAdoptionDate" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrAdoptionDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrAdoptionDate" xlink:to="lab_ecd_TrdArrAdoptionDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_b65883cf-b357-4210-97a1-a25b117cd35c_negatedLabel_en-US" xlink:label="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: accumulated depreciation and amortization</link:label>
    <link:label id="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue_4f72d99f-4890-4963-9c13-9735b09ef5c7_terseLabel_en-US" xlink:label="lab_us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign government</link:label>
    <link:label id="lab_us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue_label_en-US" xlink:label="lab_us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments, Owned, Other Sovereign Government Obligations, at Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue" xlink:to="lab_us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCentralIndexKey_d335a716-536f-4b51-949d-432e627ef67a_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember_714e013b-3d1b-4a65-bde1-50793ced6adf_terseLabel_en-US" xlink:label="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification out of Accumulated Other Comprehensive Income</link:label>
    <link:label id="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember_label_en-US" xlink:label="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification out of Accumulated Other Comprehensive Income [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember" xlink:to="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingInformationLineItems_61a45a97-b77f-4528-87b3-90936a6f75d8_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Information [Line Items]</link:label>
    <link:label id="lab_us-gaap_SegmentReportingInformationLineItems_label_en-US" xlink:label="lab_us-gaap_SegmentReportingInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Information [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems" xlink:to="lab_us-gaap_SegmentReportingInformationLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_a9f3c214-6f63-4e14-93fc-ca2e69493bdf_terseLabel_en-US" xlink:label="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">The Company and Summary of Significant Accounting Policies</link:label>
    <link:label id="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_label_en-US" xlink:label="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Presentation and Significant Accounting Policies [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_1f3466d2-b709-46c2-96c3-fb619a9dcd30_negatedLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss on disposal of property and equipment</link:label>
    <link:label id="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_label_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (Loss) on Disposition of Property Plant Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_178d82e6-aa2f-451f-b13b-f5b6f3cca5e6_verboseLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total stock-based compensation expense, net of amounts capitalized</link:label>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_c5bd7a43-fa20-4a25-86cb-a12373e90aa9_terseLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_label_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NonRule10b51ArrTrmntdFlag_terseLabel_en-US" xlink:label="lab_ecd_NonRule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Terminated</link:label>
    <link:label id="lab_ecd_NonRule10b51ArrTrmntdFlag_label_en-US" xlink:label="lab_ecd_NonRule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Terminated [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonRule10b51ArrTrmntdFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrTrmntdFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonRule10b51ArrTrmntdFlag" xlink:to="lab_ecd_NonRule10b51ArrTrmntdFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DilutiveSecuritiesAbstract_73454e05-0775-4784-8956-10402e56fc68_terseLabel_en-US" xlink:label="lab_us-gaap_DilutiveSecuritiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effect of potentially dilutive shares:</link:label>
    <link:label id="lab_us-gaap_DilutiveSecuritiesAbstract_label_en-US" xlink:label="lab_us-gaap_DilutiveSecuritiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dilutive Securities, Effect on Basic Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DilutiveSecuritiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DilutiveSecuritiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DilutiveSecuritiesAbstract" xlink:to="lab_us-gaap_DilutiveSecuritiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract_eb2c87a7-638e-403c-b678-1020eec0f529_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Denominator:</link:label>
    <link:label id="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract_label_en-US" xlink:label="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss) Available to Common Stockholders, Diluted [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract" xlink:to="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_c12055fd-1fa2-4d39-8875-85afecc374e5_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_bd35918b-2d10-477a-b594-5660fd669449_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax provision</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_6e109f10-a3fa-4e9a-b3a4-68402e88b045_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax provision</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NonUsMember_5c247925-c615-41d3-b659-9c353eb8ad79_terseLabel_en-US" xlink:label="lab_us-gaap_NonUsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign</link:label>
    <link:label id="lab_us-gaap_NonUsMember_label_en-US" xlink:label="lab_us-gaap_NonUsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-US [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonUsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonUsMember" xlink:to="lab_us-gaap_NonUsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DesignatedAsHedgingInstrumentMember_45f89511-3ea7-4d58-88dc-3c6533a114b1_terseLabel_en-US" xlink:label="lab_us-gaap_DesignatedAsHedgingInstrumentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Designated as Hedging Instrument</link:label>
    <link:label id="lab_us-gaap_DesignatedAsHedgingInstrumentMember_776a1e2e-bcb1-4cc2-8409-77e73ee7b205_verboseLabel_en-US" xlink:label="lab_us-gaap_DesignatedAsHedgingInstrumentMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency forward contracts designated as cash flow hedge</link:label>
    <link:label id="lab_us-gaap_DesignatedAsHedgingInstrumentMember_label_en-US" xlink:label="lab_us-gaap_DesignatedAsHedgingInstrumentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Designated as Hedging Instrument [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DesignatedAsHedgingInstrumentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DesignatedAsHedgingInstrumentMember" xlink:to="lab_us-gaap_DesignatedAsHedgingInstrumentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_cb0a3fb6-5eb5-4748-8f31-08c94f9ffb2f_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:to="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VestingAxis_bd1c422c-0eb6-43fd-a687-969239c55533_terseLabel_en-US" xlink:label="lab_us-gaap_VestingAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Axis]</link:label>
    <link:label id="lab_us-gaap_VestingAxis_label_en-US" xlink:label="lab_us-gaap_VestingAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VestingAxis" xlink:to="lab_us-gaap_VestingAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_e6e1108c-c53a-4c5a-bd4f-2734b683053f_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value of Financial Instruments</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresTextBlock" xlink:to="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NumberOfOperatingSegments_7367101d-ba22-4897-a82c-fca310b7ce9f_terseLabel_en-US" xlink:label="lab_us-gaap_NumberOfOperatingSegments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of operating segments</link:label>
    <link:label id="lab_us-gaap_NumberOfOperatingSegments_label_en-US" xlink:label="lab_us-gaap_NumberOfOperatingSegments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Operating Segments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfOperatingSegments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NumberOfOperatingSegments" xlink:to="lab_us-gaap_NumberOfOperatingSegments" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TrdArrIndName_terseLabel_en-US" xlink:label="lab_ecd_TrdArrIndName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Name</link:label>
    <link:label id="lab_ecd_TrdArrIndName_label_en-US" xlink:label="lab_ecd_TrdArrIndName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangement, Individual Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrIndName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrIndName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrIndName" xlink:to="lab_ecd_TrdArrIndName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_5d81c51d-8686-491d-bfb3-17cbdadb3031_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income (loss), net of tax</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_c7033d3e-35ec-418c-a61c-5a7ca7f06e01_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income (loss), net of tax</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTableTextBlock_575152bb-8b61-405e-84c0-224bf00f0ef9_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Revenue by Sales Channel</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTableTextBlock_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostNetNoncurrent_1f71b56a-d38b-4ae7-b6de-e44f83095f13_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNetNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncurrent</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostNetNoncurrent_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNetNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Net, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNetNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostNetNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostNetNoncurrent" xlink:to="lab_us-gaap_CapitalizedContractCostNetNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_4bf3703c-dc17-4363-9e8d-b8030e2dc084_negatedLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross unrealized losses</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityAbstract_label_en-US" xlink:label="lab_us-gaap_EquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityAbstract" xlink:to="lab_us-gaap_EquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_337813aa-b953-43b5-829f-548b6bb1ad20_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average remaining lease term (years)</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_4abe7cfb-f784-4355-96bf-63b0c612bce3_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenues</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_6515f155-6267-410f-b43f-97e95e0c128c_verboseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total revenues</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer, Excluding Assessed Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock_terseLabel_en-US" xlink:label="lab_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Actually Paid vs. Company Selected Measure</link:label>
    <link:label id="lab_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock_label_en-US" xlink:label="lab_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Actually Paid vs. Company Selected Measure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:to="lab_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AmendmentFlag_1a5a8b99-3521-449c-ab77-ef000bf46222_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_label_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_7b53c69a-c855-4291-90be-7107580f4c81_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible Assets, Net</link:label>
    <link:label id="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible Assets Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="lab_us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MoneyMarketFundsMember_c1c19e4a-5f3a-46ee-a6ee-2098da76a7e4_terseLabel_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Money market funds</link:label>
    <link:label id="lab_us-gaap_MoneyMarketFundsMember_label_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Money Market Funds [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MoneyMarketFundsMember" xlink:to="lab_us-gaap_MoneyMarketFundsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAxis_71c3de37-2a81-47dc-9d9e-f4825325e21b_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Axis]</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAxis_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis" xlink:to="lab_us-gaap_CashAndCashEquivalentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets_3904c69c-67dd-4156-9b73-37168a086897_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Goodwill and Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:to="lab_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock_09172db2-c8ac-41ad-8e61-3b0de4962678_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-Based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-Based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardAmount_1d27a34c-58e9-4b2a-8b72-dc1e3fba524e_terseLabel_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax credit carryforward</link:label>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardAmount_label_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax Credit Carryforward, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxCreditCarryforwardAmount" xlink:to="lab_us-gaap_TaxCreditCarryforwardAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_ea4544ac-f195-4841-8bfd-f60588f34528_negatedLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross unrealized losses</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_a2aca500-39bd-420f-8135-f102bbf751ad_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_27adb617-cf05-474b-b8a2-cf9025b459c6_negatedLabel_en-US" xlink:label="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Taxes related to net share settlement of equity awards (in shares)</link:label>
    <link:label id="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract_18f130ea-d132-4f74-940c-610f9682cc1d_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income (loss), net of tax</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent, Alternative [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_The2021EmployeeStockPurchasePlanMember_8e598785-b12e-41ac-9a9c-8cfaa3a375ce_terseLabel_en-US" xlink:label="lab_qlys_The2021EmployeeStockPurchasePlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">The 2021 Employee Stock Purchase Plan</link:label>
    <link:label id="lab_qlys_The2021EmployeeStockPurchasePlanMember_label_en-US" xlink:label="lab_qlys_The2021EmployeeStockPurchasePlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">The 2021 Employee Stock Purchase Plan [Member]</link:label>
    <link:label id="lab_qlys_The2021EmployeeStockPurchasePlanMember_documentation_en-US" xlink:label="lab_qlys_The2021EmployeeStockPurchasePlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Information related to the 2021 Employee Stock Purchase Plan.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_The2021EmployeeStockPurchasePlanMember" xlink:href="qlys-20231231.xsd#qlys_The2021EmployeeStockPurchasePlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_The2021EmployeeStockPurchasePlanMember" xlink:to="lab_qlys_The2021EmployeeStockPurchasePlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_17b52a38-6720-4b5b-967f-06c1c5b717f0_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average discount rate</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_a93e4cc9-7435-478c-804f-9e1a37228ef3_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Due within One Year</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_72dd2dcd-ec4e-4aee-ae5a-522b0ee643de_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock repurchased and retired in period (in shares)</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchased and Retired During Period, Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:to="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueOptionQuantitativeDisclosuresTable_7392ef5d-5291-4bc8-883c-b010a40997b7_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueOptionQuantitativeDisclosuresTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Option, Disclosures [Table]</link:label>
    <link:label id="lab_us-gaap_FairValueOptionQuantitativeDisclosuresTable_label_en-US" xlink:label="lab_us-gaap_FairValueOptionQuantitativeDisclosuresTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Option, Disclosures [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOptionQuantitativeDisclosuresTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable" xlink:to="lab_us-gaap_FairValueOptionQuantitativeDisclosuresTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationsPolicy_27029d48-997c-43c7-96ba-6d6176eef212_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationsPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combinations</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationsPolicy_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationsPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combinations Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationsPolicy" xlink:to="lab_us-gaap_BusinessCombinationsPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_5a40d5f2-086b-47b6-8851-3376353dc94f_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated useful lives</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SecuritiesOwnedNotReadilyMarketablePolicy_f2d462c4-9520-4569-afd8-45dd2f866301_terseLabel_en-US" xlink:label="lab_us-gaap_SecuritiesOwnedNotReadilyMarketablePolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-marketable securities</link:label>
    <link:label id="lab_us-gaap_SecuritiesOwnedNotReadilyMarketablePolicy_label_en-US" xlink:label="lab_us-gaap_SecuritiesOwnedNotReadilyMarketablePolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Securities Owned Not Readily Marketable, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuritiesOwnedNotReadilyMarketablePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuritiesOwnedNotReadilyMarketablePolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SecuritiesOwnedNotReadilyMarketablePolicy" xlink:to="lab_us-gaap_SecuritiesOwnedNotReadilyMarketablePolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_CompActuallyPaidVsOtherMeasureTextBlock_terseLabel_en-US" xlink:label="lab_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Actually Paid vs. Other Measure</link:label>
    <link:label id="lab_ecd_CompActuallyPaidVsOtherMeasureTextBlock_label_en-US" xlink:label="lab_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Actually Paid vs. Other Measure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsOtherMeasureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:to="lab_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract_9372a069-b89e-410f-abeb-0db308a8eeb8_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Numerator:</link:label>
    <link:label id="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract_label_en-US" xlink:label="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss) Available to Common Stockholders, Basic [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:to="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_7950c0c3-4307-41cb-a537-5bf6d7ddebda_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change in valuation allowance</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseholdImprovementsMember_17c74c5f-5225-4c80-9b28-415f19d368b5_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leasehold improvements</link:label>
    <link:label id="lab_us-gaap_LeaseholdImprovementsMember_label_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseholdImprovementsMember" xlink:to="lab_us-gaap_LeaseholdImprovementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingAndMarketingExpenseMember_6a7e9138-fbd7-4170-a3fe-0ab5eebd1746_terseLabel_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales and marketing</link:label>
    <link:label id="lab_us-gaap_SellingAndMarketingExpenseMember_label_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling and Marketing Expense [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpenseMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpenseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingAndMarketingExpenseMember" xlink:to="lab_us-gaap_SellingAndMarketingExpenseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2015d8bc-619d-4576-8730-0ab15b8014cb_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_10cb14e3-1728-49ab-8eb1-de7ef7e912e9_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted weighted average shares (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock_terseLabel_en-US" xlink:label="lab_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery, Explanation of Impracticability</link:label>
    <link:label id="lab_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock_label_en-US" xlink:label="lab_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery, Explanation of Impracticability [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:to="lab_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesNoncurrentAbstract_92c3e1bf-326c-40ef-975c-cb9da351282b_verboseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesNoncurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">12 months or longer</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesNoncurrentAbstract_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesNoncurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Noncurrent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesNoncurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesNoncurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesNoncurrentAbstract" xlink:to="lab_us-gaap_DebtSecuritiesNoncurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MoneyMarketFundsAtCarryingValue_a0221887-3435-48d7-8797-a5a77eeecbb6_terseLabel_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Money market funds</link:label>
    <link:label id="lab_us-gaap_MoneyMarketFundsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Money Market Funds, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MoneyMarketFundsAtCarryingValue" xlink:to="lab_us-gaap_MoneyMarketFundsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_9eba5f80-050d-4d00-9eb1-93717e4722c2_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional shares available for grant (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Additional Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingExpensesAbstract_631d50d4-2684-4137-8dab-19aa0924f1be_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating expenses:</link:label>
    <link:label id="lab_us-gaap_OperatingExpensesAbstract_label_en-US" xlink:label="lab_us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Expenses [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpensesAbstract" xlink:to="lab_us-gaap_OperatingExpensesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_4772cc87-7e06-443b-a888-0d3e0b9ca519_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contracts With Customers</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_c1cf48ab-0f2d-4414-90de-459ddbfea053_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of property and equipment</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_CoSelectedMeasureAmt_terseLabel_en-US" xlink:label="lab_ecd_CoSelectedMeasureAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Company Selected Measure Amount</link:label>
    <link:label id="lab_ecd_CoSelectedMeasureAmt_label_en-US" xlink:label="lab_ecd_CoSelectedMeasureAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Company Selected Measure Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CoSelectedMeasureAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CoSelectedMeasureAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CoSelectedMeasureAmt" xlink:to="lab_ecd_CoSelectedMeasureAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_bf721c53-a5a9-44ef-a7ef-4f213facbd0a_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-In Capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentAnnualReport_b662fe2f-4681-4cbe-a743-201791c2761f_terseLabel_en-US" xlink:label="lab_dei_DocumentAnnualReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Annual Report</link:label>
    <link:label id="lab_dei_DocumentAnnualReport_label_en-US" xlink:label="lab_dei_DocumentAnnualReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Annual Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentAnnualReport" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentAnnualReport" xlink:to="lab_dei_DocumentAnnualReport" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_3529c3eb-af8f-4932-9fa4-0e902f402692_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, cash equivalents and restricted cash at beginning of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_ebdfa282-1d3e-4cea-a83a-e2298eddf3ad_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, cash equivalents and restricted cash at end of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Assets_f77215ea-de99-47a2-a5b9-96a5e0fcf898_totalLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_Assets_label_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets" xlink:to="lab_us-gaap_Assets" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardsCloseToMnpiDiscIndName_terseLabel_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscIndName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Name</link:label>
    <link:label id="lab_ecd_AwardsCloseToMnpiDiscIndName_label_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscIndName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards Close in Time to MNPI Disclosures, Individual Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscIndName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscIndName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardsCloseToMnpiDiscIndName" xlink:to="lab_ecd_AwardsCloseToMnpiDiscIndName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements_7233d363-2961-4f52-b5fb-ade38c0290f1_terseLabel_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee stock purchase plan (in shares)</link:label>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements_label_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Equity Unit Purchase Agreements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements" xlink:to="lab_us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CoverAbstract_label_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember_a1a43b85-6091-4980-b882-7aa4fcd03bfb_terseLabel_en-US" xlink:label="lab_us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial paper</link:label>
    <link:label id="lab_us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember_label_en-US" xlink:label="lab_us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial Paper, Not Included with Cash and Cash Equivalents [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember" xlink:to="lab_us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1_de3a2fee-f5f3-48e3-a4d9-7362a7180c5e_terseLabel_en-US" xlink:label="lab_us-gaap_NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of intangible assets recorded in accrued liabilities and other noncurrent liabilities</link:label>
    <link:label id="lab_us-gaap_NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1_label_en-US" xlink:label="lab_us-gaap_NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncash or Part Noncash Acquisition, Net Nonmonetary Assets Acquired (Liabilities Assumed)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1" xlink:to="lab_us-gaap_NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_845fa30e-092f-48d6-b199-cd3934d73baf_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average remaining contractual life, exercisable (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_136df7d6-4d0e-459f-a730-59b4f020ffef_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">APIC, Share-Based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" order="1"/>
    <link:label id="lab_country_US_869a7ab9-f367-43b1-93b7-990db80bf1d0_terseLabel_en-US" xlink:label="lab_country_US" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">United States</link:label>
    <link:label id="lab_country_US_label_en-US" xlink:label="lab_country_US" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">UNITED STATES</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_US" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_US" xlink:to="lab_country_US" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_870ec06b-67f7-457a-9ba9-7298bf0b9fa1_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsRecurringMember" xlink:to="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_bc0c91b3-b28f-4c28-abc2-24dbe66a5fc4_terseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other noncurrent liabilities</link:label>
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Liabilities, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilitiesNoncurrent" xlink:to="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_90a38379-a915-4954-b50d-eaa07e8f784c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue_6dbce7dc-c554-43d5-b509-25bb7819f67e_terseLabel_en-US" xlink:label="lab_us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate bonds</link:label>
    <link:label id="lab_us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue_label_en-US" xlink:label="lab_us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments, Owned, Corporate Debt, at Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue" xlink:to="lab_us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NonNeosMember_terseLabel_en-US" xlink:label="lab_ecd_NonNeosMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-NEOs</link:label>
    <link:label id="lab_ecd_NonNeosMember_label_en-US" xlink:label="lab_ecd_NonNeosMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-NEOs [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonNeosMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonNeosMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonNeosMember" xlink:to="lab_ecd_NonNeosMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_a571e8e4-37ca-4381-a723-5dbf31673ec8_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Canceled (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_7a98a38b-4940-4789-9f3b-93689588ec51_totalLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total minimum lease payments</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligation_2a2f9364-7172-4845-af0c-73c67656c674_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, remaining performance obligation</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligation_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligation" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligation" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock_6d74a307-a0a5-48e4-a713-df11548e4104_terseLabel_en-US" xlink:label="lab_qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Cash Equivalents and Marketable Securities</link:label>
    <link:label id="lab_qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock_label_en-US" xlink:label="lab_qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents and Debt Securities, Available-for-sale, Amortized Cost to Fair Value [Table Text Block]</link:label>
    <link:label id="lab_qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock_documentation_en-US" xlink:label="lab_qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tabular disclosure of cash and cash equivalents and debt securities available-for-sale amortized cost to fair value.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock" xlink:href="qlys-20231231.xsd#qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock" xlink:to="lab_qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable_ced5654e-7b17-4406-bed1-66d40826f93e_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restrictions on Cash and Cash Equivalents [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restrictions on Cash and Cash Equivalents [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable" xlink:to="lab_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_f528d285-8576-43a1-98c3-4b032ef13609_terseLabel_en-US" xlink:label="lab_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Benefit Plan</link:label>
    <link:label id="lab_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_label_en-US" xlink:label="lab_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation and Employee Benefit Plans [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:to="lab_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxContingencyLineItems_2a17ffce-d3f3-43cf-9d0c-e38b89f347c8_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Contingency [Line Items]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxContingencyLineItems_label_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Contingency [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems" xlink:to="lab_us-gaap_IncomeTaxContingencyLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetAcquisitionConsiderationTransferred_dcee4dc5-eff3-40ee-843d-2eb9550c2852_terseLabel_en-US" xlink:label="lab_us-gaap_AssetAcquisitionConsiderationTransferred" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consideration transferred</link:label>
    <link:label id="lab_us-gaap_AssetAcquisitionConsiderationTransferred_label_en-US" xlink:label="lab_us-gaap_AssetAcquisitionConsiderationTransferred" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Acquisition, Consideration Transferred</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetAcquisitionConsiderationTransferred" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetAcquisitionConsiderationTransferred"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetAcquisitionConsiderationTransferred" xlink:to="lab_us-gaap_AssetAcquisitionConsiderationTransferred" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashFlowHedgingMember_a654a03f-5b4b-4d3a-bda5-7247b7ea31b1_terseLabel_en-US" xlink:label="lab_us-gaap_CashFlowHedgingMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Flow Hedging</link:label>
    <link:label id="lab_us-gaap_CashFlowHedgingMember_label_en-US" xlink:label="lab_us-gaap_CashFlowHedgingMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Flow Hedging [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashFlowHedgingMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashFlowHedgingMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashFlowHedgingMember" xlink:to="lab_us-gaap_CashFlowHedgingMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingExpenses_696eebd0-8d09-48c8-b714-80a52c464e11_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total operating expenses</link:label>
    <link:label id="lab_us-gaap_OperatingExpenses_label_en-US" xlink:label="lab_us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Expenses</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpenses" xlink:to="lab_us-gaap_OperatingExpenses" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_d1410c71-38bd-46f1-b0ea-dc975f918200_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment and Geographic Area Information</link:label>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_ecb1ec15-3472-43c0-9b45-626098e162bd_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net increase in cash, cash equivalents and restricted cash</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_fcbe46e8-7aa2-4992-81c7-03c46ca288a4_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flow from financing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NonPeoNeoMember_terseLabel_en-US" xlink:label="lab_ecd_NonPeoNeoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-PEO NEO</link:label>
    <link:label id="lab_ecd_NonPeoNeoMember_label_en-US" xlink:label="lab_ecd_NonPeoNeoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-PEO NEO [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonPeoNeoMember" xlink:to="lab_ecd_NonPeoNeoMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityComponentDomain_d7128ba7-b6b5-49f8-a3d7-d788e4ef8412_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:label id="lab_us-gaap_EquityComponentDomain_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain" xlink:to="lab_us-gaap_EquityComponentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AdjToCompAxis_terseLabel_en-US" xlink:label="lab_ecd_AdjToCompAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment to Compensation:</link:label>
    <link:label id="lab_ecd_AdjToCompAxis_label_en-US" xlink:label="lab_ecd_AdjToCompAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment to Compensation [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToCompAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToCompAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AdjToCompAxis" xlink:to="lab_ecd_AdjToCompAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_d7fd08db-b1a3-436a-ab02-c07fb3bd481f_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase price per stock, percentage</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherLongTermInvestmentsMember_bc16638b-aa0f-458d-8182-eec0cdc4787c_terseLabel_en-US" xlink:label="lab_us-gaap_OtherLongTermInvestmentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term marketable securities:</link:label>
    <link:label id="lab_us-gaap_OtherLongTermInvestmentsMember_label_en-US" xlink:label="lab_us-gaap_OtherLongTermInvestmentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Long-Term Investments [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLongTermInvestmentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLongTermInvestmentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLongTermInvestmentsMember" xlink:to="lab_us-gaap_OtherLongTermInvestmentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_13d56462-46cd-4a0c-a6be-d77d44419b9f_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and development credit carryforwards</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Tax Credit Carryforwards, Research</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NonGaapMeasureDescriptionTextBlock_terseLabel_en-US" xlink:label="lab_ecd_NonGaapMeasureDescriptionTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-GAAP Measure Description</link:label>
    <link:label id="lab_ecd_NonGaapMeasureDescriptionTextBlock_label_en-US" xlink:label="lab_ecd_NonGaapMeasureDescriptionTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-GAAP Measure Description [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonGaapMeasureDescriptionTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonGaapMeasureDescriptionTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonGaapMeasureDescriptionTextBlock" xlink:to="lab_ecd_NonGaapMeasureDescriptionTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_cf5b8038-d646-4b4d-a65b-290e05f64bea_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_bb8e4b1c-612e-460d-b60e-2d9f5d095e0d_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic weighted average shares (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_2a309db0-9790-461e-b816-242290d7474b_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fixed assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Property, Plant and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:to="lab_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCurrentReportingStatus_9af749a5-7cce-419f-bcc3-acaa27b1277f_terseLabel_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:label id="lab_dei_EntityCurrentReportingStatus_label_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCurrentReportingStatus" xlink:to="lab_dei_EntityCurrentReportingStatus" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger_eaa0d15b-c5ad-4680-9b32-db89920007ed_terseLabel_en-US" xlink:label="lab_qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unvested awards to vest, percentage</link:label>
    <link:label id="lab_qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger_label_en-US" xlink:label="lab_qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger</link:label>
    <link:label id="lab_qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger_documentation_en-US" xlink:label="lab_qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents percentage of shares that will vest upon trigger for share-based compensation.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" xlink:to="lab_qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_fe23bf6d-2707-4564-a763-ee10fbbb79b2_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income from operations</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="lab_us-gaap_OperatingIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_DeferredLiabilitiesRightofuseAssets_0e975fb0-14f4-473f-847e-011e5e7fe89d_negatedLabel_en-US" xlink:label="lab_qlys_DeferredLiabilitiesRightofuseAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating leases - right of use asset</link:label>
    <link:label id="lab_qlys_DeferredLiabilitiesRightofuseAssets_label_en-US" xlink:label="lab_qlys_DeferredLiabilitiesRightofuseAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">qlys_DeferredLiabilitiesRightofuseAssets</link:label>
    <link:label id="lab_qlys_DeferredLiabilitiesRightofuseAssets_documentation_en-US" xlink:label="lab_qlys_DeferredLiabilitiesRightofuseAssets" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents the deferred liabilities right-of-use-assets.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_DeferredLiabilitiesRightofuseAssets" xlink:href="qlys-20231231.xsd#qlys_DeferredLiabilitiesRightofuseAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_DeferredLiabilitiesRightofuseAssets" xlink:to="lab_qlys_DeferredLiabilitiesRightofuseAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_cd24e752-7412-4b91-b64b-923c1aa7b3de_negatedLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fixed assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Property, Plant and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NumberOfReportingUnits_ccac6e2a-b22e-43ca-9011-fe0435b98f16_terseLabel_en-US" xlink:label="lab_us-gaap_NumberOfReportingUnits" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of reporting units</link:label>
    <link:label id="lab_us-gaap_NumberOfReportingUnits_label_en-US" xlink:label="lab_us-gaap_NumberOfReportingUnits" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Reporting Units</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportingUnits" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportingUnits"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NumberOfReportingUnits" xlink:to="lab_us-gaap_NumberOfReportingUnits" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilities_aa88e526-5789-44ce-a3d8-101536254e16_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilities" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total deferred tax liabilities</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilities_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfRevenue_4de6eadc-9e60-424f-8e39-6110f70ea609_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfRevenue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of revenues</link:label>
    <link:label id="lab_us-gaap_CostOfRevenue_62402b47-c343-48cd-a88f-c9f7ad83906f_negatedLabel_en-US" xlink:label="lab_us-gaap_CostOfRevenue" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of revenues</link:label>
    <link:label id="lab_us-gaap_CostOfRevenue_label_en-US" xlink:label="lab_us-gaap_CostOfRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Revenue</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfRevenue" xlink:to="lab_us-gaap_CostOfRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_2eff526f-fbb0-4c5b-9dd7-681c5868f36c_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customers by Products and Services [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customers by Products and Services [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_31fce9b9-58ab-4afd-9b98-83cd1121f578_terseLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PvpTable_terseLabel_en-US" xlink:label="lab_ecd_PvpTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pay vs Performance Disclosure</link:label>
    <link:label id="lab_ecd_PvpTable_label_en-US" xlink:label="lab_ecd_PvpTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pay vs Performance Disclosure [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PvpTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PvpTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PvpTable" xlink:to="lab_ecd_PvpTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract_a02c442f-ffb2-4372-b8d4-baf8164db162_terseLabel_en-US" xlink:label="lab_us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification of AOCI - Available-for-sale debt securities</link:label>
    <link:label id="lab_us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract_label_en-US" xlink:label="lab_us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification from AOCI, Current Period, Tax [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract" xlink:to="lab_us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementLineItems_4c45d589-5757-46f7-b73b-ec08748d237f_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label id="lab_us-gaap_StatementLineItems_label_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems" xlink:to="lab_us-gaap_StatementLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_78091e94-d223-456f-b069-4368f649fa50_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and Equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_635b3544-8be5-4033-9e0b-1417a9f95f2a_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested and expected to vest (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_11f924ee-0a11-47c5-901a-c7eae4f94d98_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Options Additional Disclosures</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsTextBlock_c0de5d3a-5f8d-4e45-ac32-976377a1d9aa_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of the Fair Value of Derivative Instruments</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Derivative Instruments [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDerivativeInstrumentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDerivativeInstrumentsTextBlock" xlink:to="lab_us-gaap_ScheduleOfDerivativeInstrumentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt_terseLabel_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery due to Disqualification of Tax Benefits, Amount</link:label>
    <link:label id="lab_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt_label_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery due to Disqualification of Tax Benefits, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="lab_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardsCloseToMnpiDiscTable_terseLabel_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards Close in Time to MNPI Disclosures</link:label>
    <link:label id="lab_ecd_AwardsCloseToMnpiDiscTable_label_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards Close in Time to MNPI Disclosures [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:to="lab_ecd_AwardsCloseToMnpiDiscTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerSalesChannelDomain_2925edff-27c4-4a64-a477-95e721b18481_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerSalesChannelDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Sales Channel [Domain]</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerSalesChannelDomain_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerSalesChannelDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Sales Channel [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerSalesChannelDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerSalesChannelDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerSalesChannelDomain" xlink:to="lab_us-gaap_ContractWithCustomerSalesChannelDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain_2eaf92ee-2432-4419-a13d-b069c390448c_terseLabel_en-US" xlink:label="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification out of Accumulated Other Comprehensive Income [Domain]</link:label>
    <link:label id="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain_label_en-US" xlink:label="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification out of Accumulated Other Comprehensive Income [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain" xlink:to="lab_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_qlys_EmployeeStockPurchasePlanSharesMember_67f3d70c-0c7f-40d1-810a-ec88835ecc79_terseLabel_en-US" xlink:label="lab_qlys_EmployeeStockPurchasePlanSharesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee stock purchase plan</link:label>
    <link:label id="lab_qlys_EmployeeStockPurchasePlanSharesMember_label_en-US" xlink:label="lab_qlys_EmployeeStockPurchasePlanSharesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Stock Purchase Plan Shares [Member]</link:label>
    <link:label id="lab_qlys_EmployeeStockPurchasePlanSharesMember_documentation_en-US" xlink:label="lab_qlys_EmployeeStockPurchasePlanSharesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Represents information regarding employee stock purchase plan shares.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_EmployeeStockPurchasePlanSharesMember" xlink:href="qlys-20231231.xsd#qlys_EmployeeStockPurchasePlanSharesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_qlys_EmployeeStockPurchasePlanSharesMember" xlink:to="lab_qlys_EmployeeStockPurchasePlanSharesMember" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>14
<FILENAME>qlys-20231231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:f4ea1f53-8015-46e0-94c5-3054ac171407,g:ad08069b-edd9-4caa-93e6-69d8513fda7d-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.qualys.com/role/Cover" xlink:type="simple" xlink:href="qlys-20231231.xsd#Cover"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/Cover" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_4d489338-60ed-4ace-be0a-b5dc557b5544" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_DocumentType_4d489338-60ed-4ace-be0a-b5dc557b5544" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentAnnualReport_0f051d62-4de6-477d-bcc8-c5152c3ade7d" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_DocumentAnnualReport_0f051d62-4de6-477d-bcc8-c5152c3ade7d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_09f93fb7-d4f0-49c7-95f9-215334f03e17" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_DocumentPeriodEndDate_09f93fb7-d4f0-49c7-95f9-215334f03e17" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_f2fb1903-b75e-49e3-bcdc-6dec5427364e" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_CurrentFiscalYearEndDate_f2fb1903-b75e-49e3-bcdc-6dec5427364e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_5833aacb-517b-4c0a-a470-b78aecc0d933" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_DocumentTransitionReport_5833aacb-517b-4c0a-a470-b78aecc0d933" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_1750c5bb-98aa-42c4-99e5-f6cf0c136acc" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityFileNumber_1750c5bb-98aa-42c4-99e5-f6cf0c136acc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_3ff488f0-202c-413b-b0e3-f3c8d9ddaa27" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityRegistrantName_3ff488f0-202c-413b-b0e3-f3c8d9ddaa27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_7bae1e53-b055-4018-8b5d-d4c67f6b6a41" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityIncorporationStateCountryCode_7bae1e53-b055-4018-8b5d-d4c67f6b6a41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_7bd3b7f6-ba12-4923-a321-5194a43b0c1c" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityTaxIdentificationNumber_7bd3b7f6-ba12-4923-a321-5194a43b0c1c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_f0a280e1-4e2d-4f5d-86bc-b925803ca64d" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityAddressAddressLine1_f0a280e1-4e2d-4f5d-86bc-b925803ca64d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_1a936a1f-85ef-4ffc-af6e-a65f5b41841a" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityAddressCityOrTown_1a936a1f-85ef-4ffc-af6e-a65f5b41841a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_c39b6c84-20d8-4c45-be43-456fffb3df9b" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityAddressStateOrProvince_c39b6c84-20d8-4c45-be43-456fffb3df9b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_11a99c0b-18de-43e4-9784-7b7bff8271bd" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityAddressPostalZipCode_11a99c0b-18de-43e4-9784-7b7bff8271bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_0f85b61a-4359-4dee-8047-2a669407fd6b" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_CityAreaCode_0f85b61a-4359-4dee-8047-2a669407fd6b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_ab795532-fa55-4a6a-8586-499cb7546e68" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_LocalPhoneNumber_ab795532-fa55-4a6a-8586-499cb7546e68" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_7daa9d40-d625-45dc-a185-2fb8b8f2161c" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_Security12bTitle_7daa9d40-d625-45dc-a185-2fb8b8f2161c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_4ec6c4aa-e967-4351-ad6f-a5a61f2a8194" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_TradingSymbol_4ec6c4aa-e967-4351-ad6f-a5a61f2a8194" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_1df55237-5088-4dbd-9de2-b9ecda68da21" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_SecurityExchangeName_1df55237-5088-4dbd-9de2-b9ecda68da21" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer_d3ef2705-0c6c-4820-bbc0-02aca7c03e01" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityWellKnownSeasonedIssuer_d3ef2705-0c6c-4820-bbc0-02aca7c03e01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityVoluntaryFilers_3f9818dd-c7f6-4769-854d-0cf82e2f903a" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityVoluntaryFilers_3f9818dd-c7f6-4769-854d-0cf82e2f903a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_6892ca69-ebd3-4951-8f80-71ce517726b5" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityCurrentReportingStatus_6892ca69-ebd3-4951-8f80-71ce517726b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_6288c6fe-cb57-4aa1-9e36-73ed61c6ca54" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityInteractiveDataCurrent_6288c6fe-cb57-4aa1-9e36-73ed61c6ca54" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_43395b8b-2c6a-48e6-9c06-b55705e1eb35" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityFilerCategory_43395b8b-2c6a-48e6-9c06-b55705e1eb35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_ae1aef20-16ca-47c2-8801-884f87490022" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntitySmallBusiness_ae1aef20-16ca-47c2-8801-884f87490022" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_165419ad-a51f-4a7f-97c1-063acd3c2ed1" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityEmergingGrowthCompany_165419ad-a51f-4a7f-97c1-063acd3c2ed1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_IcfrAuditorAttestationFlag_14416280-641b-4316-b0bc-6fc800905a63" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_IcfrAuditorAttestationFlag_14416280-641b-4316-b0bc-6fc800905a63" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFinStmtErrorCorrectionFlag_a22fefa5-3a98-469b-b407-9e38da4016e7" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_DocumentFinStmtErrorCorrectionFlag_a22fefa5-3a98-469b-b407-9e38da4016e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_9003dde8-1841-4bce-be35-a04fcb646744" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityShellCompany_9003dde8-1841-4bce-be35-a04fcb646744" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityPublicFloat_0ce3205c-ca50-4245-8632-dc56d183c06d" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityPublicFloat_0ce3205c-ca50-4245-8632-dc56d183c06d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_ef7a4a73-e9ff-4ec2-8a20-c76e4c363abf" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_ef7a4a73-e9ff-4ec2-8a20-c76e4c363abf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentsIncorporatedByReferenceTextBlock_774fa834-1cc7-44db-a885-d9552b3a3b4c" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock"/>
    <link:presentationArc order="31" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_DocumentsIncorporatedByReferenceTextBlock_774fa834-1cc7-44db-a885-d9552b3a3b4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_6404e06d-a51e-42f9-b3aa-0116d2c95a10" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="32" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_EntityCentralIndexKey_6404e06d-a51e-42f9-b3aa-0116d2c95a10" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_f3218998-58f9-4165-900d-b2c23c612725" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus"/>
    <link:presentationArc order="33" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_DocumentFiscalYearFocus_f3218998-58f9-4165-900d-b2c23c612725" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_87bb9410-e578-4e6d-86c6-cee66b7d44a2" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:presentationArc order="34" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_DocumentFiscalPeriodFocus_87bb9410-e578-4e6d-86c6-cee66b7d44a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_2fda3295-62d7-412c-b1b5-4b2e24e47785" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="35" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_002155be-c6c2-4a28-b203-62e98713ec5b" xlink:to="loc_dei_AmendmentFlag_2fda3295-62d7-412c-b1b5-4b2e24e47785" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/AuditInformation" xlink:type="simple" xlink:href="qlys-20231231.xsd#AuditInformation"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/AuditInformation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AuditorInformationAbstract_3334da6c-188b-43d3-85c1-9f682f804c51" xlink:href="qlys-20231231.xsd#qlys_AuditorInformationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorFirmId_04c8e99e-be42-4502-95f3-cc63f31d98f3" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_qlys_AuditorInformationAbstract_3334da6c-188b-43d3-85c1-9f682f804c51" xlink:to="loc_dei_AuditorFirmId_04c8e99e-be42-4502-95f3-cc63f31d98f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorName_01baa651-aa63-4af3-b454-3aa59b75b4aa" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_qlys_AuditorInformationAbstract_3334da6c-188b-43d3-85c1-9f682f804c51" xlink:to="loc_dei_AuditorName_01baa651-aa63-4af3-b454-3aa59b75b4aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorLocation_c8467992-895a-4e5f-a0ce-f0e4c57d30a3" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_qlys_AuditorInformationAbstract_3334da6c-188b-43d3-85c1-9f682f804c51" xlink:to="loc_dei_AuditorLocation_c8467992-895a-4e5f-a0ce-f0e4c57d30a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="qlys-20231231.xsd#ConsolidatedBalanceSheets"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_6298ef43-6a3b-449e-a632-a941118935f5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_34c68347-1798-43e6-ab80-0032c30b78f9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_6298ef43-6a3b-449e-a632-a941118935f5" xlink:to="loc_us-gaap_AssetsAbstract_34c68347-1798-43e6-ab80-0032c30b78f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_d0ad2a32-5611-47b9-904b-8e484df2c10a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_34c68347-1798-43e6-ab80-0032c30b78f9" xlink:to="loc_us-gaap_AssetsCurrentAbstract_d0ad2a32-5611-47b9-904b-8e484df2c10a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_13ed0d00-9eaa-45bd-bc47-43cdf48bf382" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_d0ad2a32-5611-47b9-904b-8e484df2c10a" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_13ed0d00-9eaa-45bd-bc47-43cdf48bf382" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashCurrent_fb781335-6ca3-429a-bc9a-0c17849758ce" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_d0ad2a32-5611-47b9-904b-8e484df2c10a" xlink:to="loc_us-gaap_RestrictedCashCurrent_fb781335-6ca3-429a-bc9a-0c17849758ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_4fa8f9a0-aed9-41fe-b662-508d70bd89be" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_d0ad2a32-5611-47b9-904b-8e484df2c10a" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_4fa8f9a0-aed9-41fe-b662-508d70bd89be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_320b18d1-a174-43fa-9321-56125a5585db" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_d0ad2a32-5611-47b9-904b-8e484df2c10a" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_320b18d1-a174-43fa-9321-56125a5585db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_dfdb1510-6af0-4dba-97d0-08debc756e7d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_d0ad2a32-5611-47b9-904b-8e484df2c10a" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_dfdb1510-6af0-4dba-97d0-08debc756e7d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_f024f419-0a5a-4d4a-85c5-6ac663a414ef" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_d0ad2a32-5611-47b9-904b-8e484df2c10a" xlink:to="loc_us-gaap_AssetsCurrent_f024f419-0a5a-4d4a-85c5-6ac663a414ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_c7451e4a-6974-4ec2-8cc1-d01a1465d6a2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_34c68347-1798-43e6-ab80-0032c30b78f9" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_c7451e4a-6974-4ec2-8cc1-d01a1465d6a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_29df3802-d8fb-45e2-b4f3-d384440710d9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_34c68347-1798-43e6-ab80-0032c30b78f9" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_29df3802-d8fb-45e2-b4f3-d384440710d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_8086a772-9b2c-476f-a9cc-46846adfbaeb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_34c68347-1798-43e6-ab80-0032c30b78f9" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_8086a772-9b2c-476f-a9cc-46846adfbaeb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_b2b672c9-97bf-498c-85ea-631a4c7f3ac5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_34c68347-1798-43e6-ab80-0032c30b78f9" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_b2b672c9-97bf-498c-85ea-631a4c7f3ac5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_a1125250-7fac-4b31-b3e6-91d9ea947444" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_34c68347-1798-43e6-ab80-0032c30b78f9" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_a1125250-7fac-4b31-b3e6-91d9ea947444" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_a4f32b3a-7d3b-4c4e-9667-bc5f565567e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_34c68347-1798-43e6-ab80-0032c30b78f9" xlink:to="loc_us-gaap_Goodwill_a4f32b3a-7d3b-4c4e-9667-bc5f565567e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_e39b594b-b71f-40ad-a0d0-bb6929bea3ce" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_34c68347-1798-43e6-ab80-0032c30b78f9" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_e39b594b-b71f-40ad-a0d0-bb6929bea3ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_14646a38-5fd6-4918-b64a-6a5cac0fef6e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_34c68347-1798-43e6-ab80-0032c30b78f9" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_14646a38-5fd6-4918-b64a-6a5cac0fef6e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_7af1728f-875e-446a-8697-9397e38613b7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_34c68347-1798-43e6-ab80-0032c30b78f9" xlink:to="loc_us-gaap_Assets_7af1728f-875e-446a-8697-9397e38613b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_297641ed-55ea-4f1a-a98c-029e8b97435e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_6298ef43-6a3b-449e-a632-a941118935f5" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_297641ed-55ea-4f1a-a98c-029e8b97435e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_a7a07c4f-cf28-45d5-9826-501387911234" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_297641ed-55ea-4f1a-a98c-029e8b97435e" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_a7a07c4f-cf28-45d5-9826-501387911234" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_75bd5741-28f0-491e-ae8a-be704632c29f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_a7a07c4f-cf28-45d5-9826-501387911234" xlink:to="loc_us-gaap_AccountsPayableCurrent_75bd5741-28f0-491e-ae8a-be704632c29f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_1862c728-2eb0-4659-9eae-2cbb887ff5db" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_a7a07c4f-cf28-45d5-9826-501387911234" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_1862c728-2eb0-4659-9eae-2cbb887ff5db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_143ac609-0124-4369-b487-3b18d30760b3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_a7a07c4f-cf28-45d5-9826-501387911234" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_143ac609-0124-4369-b487-3b18d30760b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_d81e4469-1738-481b-957e-e2de49b6b11b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_a7a07c4f-cf28-45d5-9826-501387911234" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_d81e4469-1738-481b-957e-e2de49b6b11b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_c9abd5d2-7e57-4f74-9025-22a192ff51de" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_a7a07c4f-cf28-45d5-9826-501387911234" xlink:to="loc_us-gaap_LiabilitiesCurrent_c9abd5d2-7e57-4f74-9025-22a192ff51de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_5f54ea20-141a-462f-a79e-04e1831eabb0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_297641ed-55ea-4f1a-a98c-029e8b97435e" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_5f54ea20-141a-462f-a79e-04e1831eabb0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_d23f4d35-c617-435f-ba73-a3f82ddfacfb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_297641ed-55ea-4f1a-a98c-029e8b97435e" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_d23f4d35-c617-435f-ba73-a3f82ddfacfb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_ae736627-b974-4fa2-99ac-216914006855" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_297641ed-55ea-4f1a-a98c-029e8b97435e" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_ae736627-b974-4fa2-99ac-216914006855" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_6f152d24-4a1a-414b-9141-0e374becac4a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_297641ed-55ea-4f1a-a98c-029e8b97435e" xlink:to="loc_us-gaap_Liabilities_6f152d24-4a1a-414b-9141-0e374becac4a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies_c83d446c-dfe2-40d7-9f60-2b031b4b77b7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_297641ed-55ea-4f1a-a98c-029e8b97435e" xlink:to="loc_us-gaap_CommitmentsAndContingencies_c83d446c-dfe2-40d7-9f60-2b031b4b77b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_bb18f9f5-43da-4a49-9787-f1affb6a1edd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_297641ed-55ea-4f1a-a98c-029e8b97435e" xlink:to="loc_us-gaap_StockholdersEquityAbstract_bb18f9f5-43da-4a49-9787-f1affb6a1edd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_a66e9b66-aab5-417a-9b11-f2c175d6fe60" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_bb18f9f5-43da-4a49-9787-f1affb6a1edd" xlink:to="loc_us-gaap_PreferredStockValue_a66e9b66-aab5-417a-9b11-f2c175d6fe60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_daf81b2f-f59e-410a-8894-aa0ba735f653" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_bb18f9f5-43da-4a49-9787-f1affb6a1edd" xlink:to="loc_us-gaap_CommonStockValue_daf81b2f-f59e-410a-8894-aa0ba735f653" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_e1aaa6c1-4077-41f6-973d-4f22b5174106" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_bb18f9f5-43da-4a49-9787-f1affb6a1edd" xlink:to="loc_us-gaap_AdditionalPaidInCapital_e1aaa6c1-4077-41f6-973d-4f22b5174106" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_2f793fad-9f35-4751-92de-88bae76be043" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_bb18f9f5-43da-4a49-9787-f1affb6a1edd" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_2f793fad-9f35-4751-92de-88bae76be043" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_44970933-2c7a-4cf2-95e3-b564a69b3248" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_bb18f9f5-43da-4a49-9787-f1affb6a1edd" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_44970933-2c7a-4cf2-95e3-b564a69b3248" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_0b7f3f9d-acc8-4d50-b688-8a11a3286daf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_bb18f9f5-43da-4a49-9787-f1affb6a1edd" xlink:to="loc_us-gaap_StockholdersEquity_0b7f3f9d-acc8-4d50-b688-8a11a3286daf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_1aa0c8f9-e7b3-4e8f-83f6-c37db688528e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_297641ed-55ea-4f1a-a98c-029e8b97435e" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_1aa0c8f9-e7b3-4e8f-83f6-c37db688528e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="qlys-20231231.xsd#ConsolidatedBalanceSheetsParenthetical"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_e6dc83da-28a1-4e08-b7d9-b0a4a30eaa89" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_015dd8e6-d3f6-41f7-b898-b1a6287b0b34" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e6dc83da-28a1-4e08-b7d9-b0a4a30eaa89" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_015dd8e6-d3f6-41f7-b898-b1a6287b0b34" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_9b435efc-5c0f-43af-a036-74d847013cad" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e6dc83da-28a1-4e08-b7d9-b0a4a30eaa89" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_9b435efc-5c0f-43af-a036-74d847013cad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_b209da48-16ce-403a-9ea1-f2f9bbff0577" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e6dc83da-28a1-4e08-b7d9-b0a4a30eaa89" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_b209da48-16ce-403a-9ea1-f2f9bbff0577" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued_45fad4d6-ab27-4230-9b06-02624b737682" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e6dc83da-28a1-4e08-b7d9-b0a4a30eaa89" xlink:to="loc_us-gaap_PreferredStockSharesIssued_45fad4d6-ab27-4230-9b06-02624b737682" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_d04c16b9-fb62-489f-959f-3ff849f87815" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e6dc83da-28a1-4e08-b7d9-b0a4a30eaa89" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_d04c16b9-fb62-489f-959f-3ff849f87815" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_4affb3b8-91ee-461d-ac6d-1d0ea1ebc6e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e6dc83da-28a1-4e08-b7d9-b0a4a30eaa89" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_4affb3b8-91ee-461d-ac6d-1d0ea1ebc6e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_132627cb-0519-478c-a22d-bd133f757ef1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e6dc83da-28a1-4e08-b7d9-b0a4a30eaa89" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_132627cb-0519-478c-a22d-bd133f757ef1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_7abf6ea4-dffc-4571-bd81-2dcefa371229" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e6dc83da-28a1-4e08-b7d9-b0a4a30eaa89" xlink:to="loc_us-gaap_CommonStockSharesIssued_7abf6ea4-dffc-4571-bd81-2dcefa371229" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_3be2aafe-2d03-4c94-be42-f25abb5ec187" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e6dc83da-28a1-4e08-b7d9-b0a4a30eaa89" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_3be2aafe-2d03-4c94-be42-f25abb5ec187" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/ConsolidatedStatementsofOperations" xlink:type="simple" xlink:href="qlys-20231231.xsd#ConsolidatedStatementsofOperations"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/ConsolidatedStatementsofOperations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract_9a1558bb-5a73-4c2e-8729-8fcf6aa71164" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_5aab64f4-52ea-465c-b09c-d027a48c530a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9a1558bb-5a73-4c2e-8729-8fcf6aa71164" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_5aab64f4-52ea-465c-b09c-d027a48c530a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_1059c5bf-072a-4bae-8b65-ab9206e28f35" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9a1558bb-5a73-4c2e-8729-8fcf6aa71164" xlink:to="loc_us-gaap_CostOfRevenue_1059c5bf-072a-4bae-8b65-ab9206e28f35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_c13a9b68-a11b-4245-8aab-ab899b7f6e78" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9a1558bb-5a73-4c2e-8729-8fcf6aa71164" xlink:to="loc_us-gaap_GrossProfit_c13a9b68-a11b-4245-8aab-ab899b7f6e78" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract_4364cc8c-8318-42d4-90eb-9cec4e8412ce" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9a1558bb-5a73-4c2e-8729-8fcf6aa71164" xlink:to="loc_us-gaap_OperatingExpensesAbstract_4364cc8c-8318-42d4-90eb-9cec4e8412ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_9f4e18e1-c120-4db8-a5de-b82a8e5eda6c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_4364cc8c-8318-42d4-90eb-9cec4e8412ce" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_9f4e18e1-c120-4db8-a5de-b82a8e5eda6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_6c9e598a-d4fb-49b3-a840-f544db4f8e54" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_4364cc8c-8318-42d4-90eb-9cec4e8412ce" xlink:to="loc_us-gaap_SellingAndMarketingExpense_6c9e598a-d4fb-49b3-a840-f544db4f8e54" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_cef45217-c83c-4f90-8893-94d506e60adc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_4364cc8c-8318-42d4-90eb-9cec4e8412ce" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_cef45217-c83c-4f90-8893-94d506e60adc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_c46d0c39-0fa6-4c65-b7ce-ea4b5d90c071" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_4364cc8c-8318-42d4-90eb-9cec4e8412ce" xlink:to="loc_us-gaap_OperatingExpenses_c46d0c39-0fa6-4c65-b7ce-ea4b5d90c071" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_c9a93025-82df-4e9b-a9d8-803c4001285a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9a1558bb-5a73-4c2e-8729-8fcf6aa71164" xlink:to="loc_us-gaap_OperatingIncomeLoss_c9a93025-82df-4e9b-a9d8-803c4001285a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonoperatingIncomeExpenseAbstract_ada8a3bb-a85b-4604-8f1d-2080d8a8332f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpenseAbstract"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9a1558bb-5a73-4c2e-8729-8fcf6aa71164" xlink:to="loc_us-gaap_NonoperatingIncomeExpenseAbstract_ada8a3bb-a85b-4604-8f1d-2080d8a8332f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentIncomeInterest_c38749a3-ddf2-4ebb-a6d1-3b3a9cece2d1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_ada8a3bb-a85b-4604-8f1d-2080d8a8332f" xlink:to="loc_us-gaap_InvestmentIncomeInterest_c38749a3-ddf2-4ebb-a6d1-3b3a9cece2d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_08b83c8b-d210-441c-9117-e12450696498" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_ada8a3bb-a85b-4604-8f1d-2080d8a8332f" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_08b83c8b-d210-441c-9117-e12450696498" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonoperatingIncomeExpense_7c675eeb-2bda-4e52-bab4-c3d3e3d73461" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_ada8a3bb-a85b-4604-8f1d-2080d8a8332f" xlink:to="loc_us-gaap_NonoperatingIncomeExpense_7c675eeb-2bda-4e52-bab4-c3d3e3d73461" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_e39087f1-624f-4216-8332-fbb9a1dd181e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9a1558bb-5a73-4c2e-8729-8fcf6aa71164" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_e39087f1-624f-4216-8332-fbb9a1dd181e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_c1fc8d07-1481-498f-8ca6-28b5bc89cb90" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9a1558bb-5a73-4c2e-8729-8fcf6aa71164" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_c1fc8d07-1481-498f-8ca6-28b5bc89cb90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_5d04fd84-dc73-4c92-b64b-a442ce396e18" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9a1558bb-5a73-4c2e-8729-8fcf6aa71164" xlink:to="loc_us-gaap_NetIncomeLoss_5d04fd84-dc73-4c92-b64b-a442ce396e18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_2c1620dc-2054-4859-a5b8-8b751ba50c27" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9a1558bb-5a73-4c2e-8729-8fcf6aa71164" xlink:to="loc_us-gaap_EarningsPerShareAbstract_2c1620dc-2054-4859-a5b8-8b751ba50c27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_9af916b7-8604-4762-9be4-3e1d511e2e82" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_2c1620dc-2054-4859-a5b8-8b751ba50c27" xlink:to="loc_us-gaap_EarningsPerShareBasic_9af916b7-8604-4762-9be4-3e1d511e2e82" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_856b49e4-5030-44ce-a7a8-d3dbfe1941d4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_2c1620dc-2054-4859-a5b8-8b751ba50c27" xlink:to="loc_us-gaap_EarningsPerShareDiluted_856b49e4-5030-44ce-a7a8-d3dbfe1941d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_44822662-88b6-483f-863b-69add8f182ca" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_9a1558bb-5a73-4c2e-8729-8fcf6aa71164" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_44822662-88b6-483f-863b-69add8f182ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_46f804a1-a6ab-4519-8e01-9c4c8309c0f3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_44822662-88b6-483f-863b-69add8f182ca" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_46f804a1-a6ab-4519-8e01-9c4c8309c0f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_5689a482-999b-4e32-8e3b-087f3513cb6a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_44822662-88b6-483f-863b-69add8f182ca" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_5689a482-999b-4e32-8e3b-087f3513cb6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome" xlink:type="simple" xlink:href="qlys-20231231.xsd#ConsolidatedStatementsofComprehensiveIncome"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_f2617e06-5be7-4ad1-aebf-be23d1b2c8bc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_4fce90e1-2c0d-4a7a-8c2c-19f5d2e1ba2b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_f2617e06-5be7-4ad1-aebf-be23d1b2c8bc" xlink:to="loc_us-gaap_NetIncomeLoss_4fce90e1-2c0d-4a7a-8c2c-19f5d2e1ba2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract_c053053b-f477-4567-a6e2-e3eae43c4204" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_f2617e06-5be7-4ad1-aebf-be23d1b2c8bc" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract_c053053b-f477-4567-a6e2-e3eae43c4204" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_d2e27aa7-c671-4d0f-8824-bd90f77ee9e0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract_c053053b-f477-4567-a6e2-e3eae43c4204" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_d2e27aa7-c671-4d0f-8824-bd90f77ee9e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent_577a5340-f456-4da4-8ee1-b059cd9f87dd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract_c053053b-f477-4567-a6e2-e3eae43c4204" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent_577a5340-f456-4da4-8ee1-b059cd9f87dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_889a801f-ad61-455b-8473-15bf5576554a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract_c053053b-f477-4567-a6e2-e3eae43c4204" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_889a801f-ad61-455b-8473-15bf5576554a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_df253c39-764b-4101-b89a-1bf4e34d5291" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_f2617e06-5be7-4ad1-aebf-be23d1b2c8bc" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_df253c39-764b-4101-b89a-1bf4e34d5291" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/ConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="qlys-20231231.xsd#ConsolidatedStatementsofCashFlows"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/ConsolidatedStatementsofCashFlows" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_1f8893eb-6b4e-4f3c-831c-ce154e59fe93" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_efb01329-453c-48aa-93a0-d3f507b83942" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_1f8893eb-6b4e-4f3c-831c-ce154e59fe93" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_efb01329-453c-48aa-93a0-d3f507b83942" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_7b15151c-7c6a-4503-bf42-ede3d59c6482" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_efb01329-453c-48aa-93a0-d3f507b83942" xlink:to="loc_us-gaap_NetIncomeLoss_7b15151c-7c6a-4503-bf42-ede3d59c6482" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_156f3394-515b-42ff-b495-bc272a8b5abf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_efb01329-453c-48aa-93a0-d3f507b83942" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_156f3394-515b-42ff-b495-bc272a8b5abf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_60efbdb2-7e64-4372-83bc-da3b63968fd7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_156f3394-515b-42ff-b495-bc272a8b5abf" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_60efbdb2-7e64-4372-83bc-da3b63968fd7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetImpairmentCharges_30f5a270-338a-49c5-83e1-091f67c49e10" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetImpairmentCharges"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_156f3394-515b-42ff-b495-bc272a8b5abf" xlink:to="loc_us-gaap_OtherAssetImpairmentCharges_30f5a270-338a-49c5-83e1-091f67c49e10" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_a619d725-39f9-4384-86e2-11c1909ff597" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_156f3394-515b-42ff-b495-bc272a8b5abf" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_a619d725-39f9-4384-86e2-11c1909ff597" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_6572d469-0d9a-4658-b230-2a68be8f1cf3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_156f3394-515b-42ff-b495-bc272a8b5abf" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_6572d469-0d9a-4658-b230-2a68be8f1cf3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss_cc750045-c618-4472-9b8a-8b45154bbfc5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_156f3394-515b-42ff-b495-bc272a8b5abf" xlink:to="loc_us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss_cc750045-c618-4472-9b8a-8b45154bbfc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_0271a782-bea6-47a5-9fb6-4931ddfe75aa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_156f3394-515b-42ff-b495-bc272a8b5abf" xlink:to="loc_us-gaap_ShareBasedCompensation_0271a782-bea6-47a5-9fb6-4931ddfe75aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_8a3b8353-24b1-47ac-980a-7ccdb2918253" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_156f3394-515b-42ff-b495-bc272a8b5abf" xlink:to="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_8a3b8353-24b1-47ac-980a-7ccdb2918253" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_b0bba4de-63bc-4ad6-ae16-f44ea32cca0d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_156f3394-515b-42ff-b495-bc272a8b5abf" xlink:to="loc_us-gaap_DeferredIncomeTaxesAndTaxCredits_b0bba4de-63bc-4ad6-ae16-f44ea32cca0d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_f3c02893-9b0d-4bad-9b4e-5740970d70b4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_156f3394-515b-42ff-b495-bc272a8b5abf" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_f3c02893-9b0d-4bad-9b4e-5740970d70b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_ca834c02-acfd-4ad4-a5a5-f4d8e49fb932" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_f3c02893-9b0d-4bad-9b4e-5740970d70b4" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_ca834c02-acfd-4ad4-a5a5-f4d8e49fb932" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_a1087448-83c0-4f8a-80a7-8011301fac26" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_f3c02893-9b0d-4bad-9b4e-5740970d70b4" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_a1087448-83c0-4f8a-80a7-8011301fac26" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_7975b3b7-add5-4d4d-9403-81b8c2804889" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_f3c02893-9b0d-4bad-9b4e-5740970d70b4" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_7975b3b7-add5-4d4d-9403-81b8c2804889" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_0695471a-2730-4321-8b68-25a18711ef12" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_f3c02893-9b0d-4bad-9b4e-5740970d70b4" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_0695471a-2730-4321-8b68-25a18711ef12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_8d2103f2-f69c-4f5e-9206-9efce53d948e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_f3c02893-9b0d-4bad-9b4e-5740970d70b4" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_8d2103f2-f69c-4f5e-9206-9efce53d948e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_f522f640-37e8-4cd9-99e0-d538125ae718" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_efb01329-453c-48aa-93a0-d3f507b83942" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_f522f640-37e8-4cd9-99e0-d538125ae718" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_03b8fa20-82d3-4ec5-a93b-e810400d281f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_1f8893eb-6b4e-4f3c-831c-ce154e59fe93" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_03b8fa20-82d3-4ec5-a93b-e810400d281f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireMarketableSecurities_55c0872c-b19a-4528-8713-f3bb03ce3dc3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireMarketableSecurities"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_03b8fa20-82d3-4ec5-a93b-e810400d281f" xlink:to="loc_us-gaap_PaymentsToAcquireMarketableSecurities_55c0872c-b19a-4528-8713-f3bb03ce3dc3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_283c6514-fdd9-40fa-94a5-1e45c20aa6b0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_03b8fa20-82d3-4ec5-a93b-e810400d281f" xlink:to="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_283c6514-fdd9-40fa-94a5-1e45c20aa6b0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_108fae9b-1727-4e47-be18-773508f28d7a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_03b8fa20-82d3-4ec5-a93b-e810400d281f" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_108fae9b-1727-4e47-be18-773508f28d7a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_9f8950ac-9bf3-4803-b90d-71c1b1df5fff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_03b8fa20-82d3-4ec5-a93b-e810400d281f" xlink:to="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_9f8950ac-9bf3-4803-b90d-71c1b1df5fff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_273503b7-1de2-463f-af8f-f170cdd7923c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesGross"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_03b8fa20-82d3-4ec5-a93b-e810400d281f" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesGross_273503b7-1de2-463f-af8f-f170cdd7923c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PaymentsToAcquireMaturitiesOfNotesReceivable_0dcf22f5-7779-4251-a581-518cf9670170" xlink:href="qlys-20231231.xsd#qlys_PaymentsToAcquireMaturitiesOfNotesReceivable"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_03b8fa20-82d3-4ec5-a93b-e810400d281f" xlink:to="loc_qlys_PaymentsToAcquireMaturitiesOfNotesReceivable_0dcf22f5-7779-4251-a581-518cf9670170" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_9a2436f6-5176-4361-8c53-489731875671" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_03b8fa20-82d3-4ec5-a93b-e810400d281f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_9a2436f6-5176-4361-8c53-489731875671" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a0e1c8cb-43ca-4487-8dc3-9419bb7c054f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_1f8893eb-6b4e-4f3c-831c-ce154e59fe93" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a0e1c8cb-43ca-4487-8dc3-9419bb7c054f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_d0ab7f92-ecd4-4363-a01c-5e76833d5ee1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a0e1c8cb-43ca-4487-8dc3-9419bb7c054f" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_d0ab7f92-ecd4-4363-a01c-5e76833d5ee1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_327992a4-f69b-44d5-9690-8fd2f2f46cb5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a0e1c8cb-43ca-4487-8dc3-9419bb7c054f" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_327992a4-f69b-44d5-9690-8fd2f2f46cb5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_2460ba7f-f8e2-4599-ae04-1edf7ec6d8a2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a0e1c8cb-43ca-4487-8dc3-9419bb7c054f" xlink:to="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_2460ba7f-f8e2-4599-ae04-1edf7ec6d8a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_43a23bb2-5c4f-4a3d-afbf-29162f2a67c5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a0e1c8cb-43ca-4487-8dc3-9419bb7c054f" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_43a23bb2-5c4f-4a3d-afbf-29162f2a67c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeasePrincipalPayments_e08e9eb4-613c-41d9-9014-0e796bc3627c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a0e1c8cb-43ca-4487-8dc3-9419bb7c054f" xlink:to="loc_us-gaap_FinanceLeasePrincipalPayments_e08e9eb4-613c-41d9-9014-0e796bc3627c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_88516db0-e66b-44c8-9d5b-3a95b6908791" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a0e1c8cb-43ca-4487-8dc3-9419bb7c054f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_88516db0-e66b-44c8-9d5b-3a95b6908791" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_710a26cb-f07d-415d-afd0-699c08e8823d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_1f8893eb-6b4e-4f3c-831c-ce154e59fe93" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_710a26cb-f07d-415d-afd0-699c08e8823d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_5c31142c-d2d2-4fa6-a993-acf050c651e8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_1f8893eb-6b4e-4f3c-831c-ce154e59fe93" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_5c31142c-d2d2-4fa6-a993-acf050c651e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_51b89d6d-38a6-461d-b18b-4d2eccf5b417" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_1f8893eb-6b4e-4f3c-831c-ce154e59fe93" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_51b89d6d-38a6-461d-b18b-4d2eccf5b417" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract_5d63836f-03e4-48f2-8c99-fd6ca73a83a6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_1f8893eb-6b4e-4f3c-831c-ce154e59fe93" xlink:to="loc_us-gaap_SupplementalCashFlowInformationAbstract_5d63836f-03e4-48f2-8c99-fd6ca73a83a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaidNet_274526c6-1c87-4fad-b47c-aaf267b4e2ee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_5d63836f-03e4-48f2-8c99-fd6ca73a83a6" xlink:to="loc_us-gaap_IncomeTaxesPaidNet_274526c6-1c87-4fad-b47c-aaf267b4e2ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_44b502c3-27b8-403d-8655-37e6e378d238" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_1f8893eb-6b4e-4f3c-831c-ce154e59fe93" xlink:to="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_44b502c3-27b8-403d-8655-37e6e378d238" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1_0e35bcef-d550-4d02-b366-21f35f364843" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_44b502c3-27b8-403d-8655-37e6e378d238" xlink:to="loc_us-gaap_NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1_0e35bcef-d550-4d02-b366-21f35f364843" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalExpendituresIncurredButNotYetPaid_862b4386-aad9-4242-af85-0ec42ba54ef7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_44b502c3-27b8-403d-8655-37e6e378d238" xlink:to="loc_us-gaap_CapitalExpendituresIncurredButNotYetPaid_862b4386-aad9-4242-af85-0ec42ba54ef7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity" xlink:type="simple" xlink:href="qlys-20231231.xsd#ConsolidatedStatementsofStockholdersEquity"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_3298a58a-9d8d-4373-8345-b485ad84de50" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_c90c6ef2-e194-466e-ae30-905d9cb2d423" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_3298a58a-9d8d-4373-8345-b485ad84de50" xlink:to="loc_us-gaap_StatementTable_c90c6ef2-e194-466e-ae30-905d9cb2d423" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_ed461016-cef5-4443-8b1e-748a0b528ed2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_c90c6ef2-e194-466e-ae30-905d9cb2d423" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_ed461016-cef5-4443-8b1e-748a0b528ed2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_32ad43b1-4c0a-4bf8-a7aa-4a9783bc510a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_ed461016-cef5-4443-8b1e-748a0b528ed2" xlink:to="loc_us-gaap_EquityComponentDomain_32ad43b1-4c0a-4bf8-a7aa-4a9783bc510a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_6f62ac97-3eb6-46b8-b160-af76b98c95d5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_32ad43b1-4c0a-4bf8-a7aa-4a9783bc510a" xlink:to="loc_us-gaap_CommonStockMember_6f62ac97-3eb6-46b8-b160-af76b98c95d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_2261c709-954c-42e8-8339-1e0dcd287cf8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_32ad43b1-4c0a-4bf8-a7aa-4a9783bc510a" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_2261c709-954c-42e8-8339-1e0dcd287cf8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_b2a6334f-fdf5-4851-bc5b-95829e82f441" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_32ad43b1-4c0a-4bf8-a7aa-4a9783bc510a" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_b2a6334f-fdf5-4851-bc5b-95829e82f441" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_5153253e-c9fd-495e-bb67-c86085d34887" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_32ad43b1-4c0a-4bf8-a7aa-4a9783bc510a" xlink:to="loc_us-gaap_RetainedEarningsMember_5153253e-c9fd-495e-bb67-c86085d34887" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_ebe5e4d7-a349-48f2-b38b-d40b6cd55ac8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_c90c6ef2-e194-466e-ae30-905d9cb2d423" xlink:to="loc_us-gaap_StatementLineItems_ebe5e4d7-a349-48f2-b38b-d40b6cd55ac8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_ebe5e4d7-a349-48f2-b38b-d40b6cd55ac8" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_be251cbe-46f6-4d26-83dc-9e0116d421c8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_SharesOutstanding_be251cbe-46f6-4d26-83dc-9e0116d421c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_7d1f1d6b-a79f-4731-8df9-c7ee883ed7d5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_StockholdersEquity_7d1f1d6b-a79f-4731-8df9-c7ee883ed7d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_699de1cc-6a13-43a7-b239-f5fff9d2c80d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_NetIncomeLoss_699de1cc-6a13-43a7-b239-f5fff9d2c80d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_6d7f7829-42cf-4f28-84c9-11cb694e5a56" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_6d7f7829-42cf-4f28-84c9-11cb694e5a56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_21b5c68f-d08f-4511-9e72-b14a524e5a91" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_21b5c68f-d08f-4511-9e72-b14a524e5a91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_13757b21-df24-42d8-bc8c-e9908959f8ee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_13757b21-df24-42d8-bc8c-e9908959f8ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_9a7dd28c-ec0c-4e16-9992-65be198c193a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_9a7dd28c-ec0c-4e16-9992-65be198c193a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_bb166b45-468a-4e95-8fc9-c010fe15abff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_bb166b45-468a-4e95-8fc9-c010fe15abff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested_0fd16c3e-2860-40f9-b3e3-ac39f25b34af" xlink:href="qlys-20231231.xsd#qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested_0fd16c3e-2860-40f9-b3e3-ac39f25b34af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_dab199f3-e7da-4f3a-b848-7029d31ee435" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_dab199f3-e7da-4f3a-b848-7029d31ee435" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_eae337f4-7d70-4edd-818f-f3e6d449cef3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_eae337f4-7d70-4edd-818f-f3e6d449cef3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_38f2d018-180e-4b1b-b4d3-96517a1940da" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_38f2d018-180e-4b1b-b4d3-96517a1940da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_f4efd4bd-905d-4bc8-9f51-8116d0e8bdba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_f4efd4bd-905d-4bc8-9f51-8116d0e8bdba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_cbfa7100-d4ff-4126-8308-432d38482b3d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_cbfa7100-d4ff-4126-8308-432d38482b3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_63460251-dcba-411e-ae95-fad012fb1727" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_SharesOutstanding_63460251-dcba-411e-ae95-fad012fb1727" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_4dc033c5-6c97-47d8-8c5d-cfca56f2df81" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_fd9c1dd9-3500-4955-b106-6e83bd15caae" xlink:to="loc_us-gaap_StockholdersEquity_4dc033c5-6c97-47d8-8c5d-cfca56f2df81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPolicies" xlink:type="simple" xlink:href="qlys-20231231.xsd#TheCompanyandSummaryofSignificantAccountingPolicies"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_c0167228-e6a5-4889-834a-b41b9d20652c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_2ec9de68-51d1-40a1-864f-4512dcb4402c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_c0167228-e6a5-4889-834a-b41b9d20652c" xlink:to="loc_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_2ec9de68-51d1-40a1-864f-4512dcb4402c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstruments" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstruments"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstruments" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_2568aa92-598f-4acb-87fd-bd04c3990299" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock_5026340a-b52d-4b70-98f6-4d2c707fba5d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_2568aa92-598f-4acb-87fd-bd04c3990299" xlink:to="loc_us-gaap_FairValueDisclosuresTextBlock_5026340a-b52d-4b70-98f6-4d2c707fba5d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLoss" xlink:type="simple" xlink:href="qlys-20231231.xsd#AccumulatedOtherComprehensiveIncomeLoss"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLoss" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_45064848-7722-44f7-be2b-ee7bd9372eeb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNoteTextBlock_899e0783-a7a0-445f-ab9c-13d004fea09e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_45064848-7722-44f7-be2b-ee7bd9372eeb" xlink:to="loc_us-gaap_ComprehensiveIncomeNoteTextBlock_899e0783-a7a0-445f-ab9c-13d004fea09e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/PropertyandEquipmentNet" xlink:type="simple" xlink:href="qlys-20231231.xsd#PropertyandEquipmentNet"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/PropertyandEquipmentNet" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_0104ff2c-399e-469f-9613-30542ddd7597" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_8c3c463a-2a5c-42bc-809e-30bd86f237db" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_0104ff2c-399e-469f-9613-30542ddd7597" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_8c3c463a-2a5c-42bc-809e-30bd86f237db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/RevenuefromContractsWithCustomers" xlink:type="simple" xlink:href="qlys-20231231.xsd#RevenuefromContractsWithCustomers"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/RevenuefromContractsWithCustomers" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_64a51ebc-ac74-45b2-964b-0853d854084d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_25fd9715-8195-460e-a931-2f7df8517be6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_64a51ebc-ac74-45b2-964b-0853d854084d" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_25fd9715-8195-460e-a931-2f7df8517be6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/Acquisitions" xlink:type="simple" xlink:href="qlys-20231231.xsd#Acquisitions"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/Acquisitions" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_b50a142f-e1c6-4ff9-81a6-7652bc949638" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetAcquisitionTextBlock_151e549e-bbb9-49e3-ab0d-4c4d1c1ee6cb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetAcquisitionTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_b50a142f-e1c6-4ff9-81a6-7652bc949638" xlink:to="loc_us-gaap_AssetAcquisitionTextBlock_151e549e-bbb9-49e3-ab0d-4c4d1c1ee6cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IntangibleAssetsNet" xlink:type="simple" xlink:href="qlys-20231231.xsd#IntangibleAssetsNet"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/IntangibleAssetsNet" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_a589c3b0-7b3c-498a-8fd9-f7400c26dc1e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_85b46c74-01cb-4fe8-bbb1-8d137c0261eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_a589c3b0-7b3c-498a-8fd9-f7400c26dc1e" xlink:to="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_85b46c74-01cb-4fe8-bbb1-8d137c0261eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/Leases" xlink:type="simple" xlink:href="qlys-20231231.xsd#Leases"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/Leases" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_a928f714-5a60-4ff4-84ac-398d1cadc16c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock_3e3a942f-879f-4f82-afbb-9290468d84d7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_a928f714-5a60-4ff4-84ac-398d1cadc16c" xlink:to="loc_us-gaap_LesseeOperatingLeasesTextBlock_3e3a942f-879f-4f82-afbb-9290468d84d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeFinanceLeasesTextBlock_310e469e-36ae-4556-a802-08335daa010e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeasesTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_a928f714-5a60-4ff4-84ac-398d1cadc16c" xlink:to="loc_us-gaap_LesseeFinanceLeasesTextBlock_310e469e-36ae-4556-a802-08335daa010e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/CommitmentandContingencies" xlink:type="simple" xlink:href="qlys-20231231.xsd#CommitmentandContingencies"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/CommitmentandContingencies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_0fc6aeb9-cb75-4491-b18c-1a3efa357cc6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_165563de-9e30-445c-9605-db6f58779501" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_0fc6aeb9-cb75-4491-b18c-1a3efa357cc6" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_165563de-9e30-445c-9605-db6f58779501" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensation" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensation"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_cf219451-c3b6-400d-8465-02a0f74c1a89" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_c9bfc0b7-9d63-42ca-add0-32a7e063c64a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_cf219451-c3b6-400d-8465-02a0f74c1a89" xlink:to="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_c9bfc0b7-9d63-42ca-add0-32a7e063c64a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/EmployeeBenefitPlan" xlink:type="simple" xlink:href="qlys-20231231.xsd#EmployeeBenefitPlan"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/EmployeeBenefitPlan" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_b12df8be-fd40-491a-b0a4-054d37b0b96e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_4ffccf4e-ff4e-47f3-9f54-dcfd22ad88c7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_b12df8be-fd40-491a-b0a4-054d37b0b96e" xlink:to="loc_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_4ffccf4e-ff4e-47f3-9f54-dcfd22ad88c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IncomeTaxes" xlink:type="simple" xlink:href="qlys-20231231.xsd#IncomeTaxes"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/IncomeTaxes" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_7aaf3a73-830b-4467-81a1-b1b7a7d54c35" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_165979c9-d04d-48e2-a400-0f804ddc022a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7aaf3a73-830b-4467-81a1-b1b7a7d54c35" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_165979c9-d04d-48e2-a400-0f804ddc022a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/SegmentandGeographicAreaInformation" xlink:type="simple" xlink:href="qlys-20231231.xsd#SegmentandGeographicAreaInformation"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/SegmentandGeographicAreaInformation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_bc1d3f48-2610-43ab-92e6-085793decacf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock_86868221-065d-4475-9f02-9ff0d1e42fc6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_bc1d3f48-2610-43ab-92e6-085793decacf" xlink:to="loc_us-gaap_SegmentReportingDisclosureTextBlock_86868221-065d-4475-9f02-9ff0d1e42fc6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/NetIncomePerShare" xlink:type="simple" xlink:href="qlys-20231231.xsd#NetIncomePerShare"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/NetIncomePerShare" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_139fa56f-4ac6-4f7c-811a-0e6aaf3b4cc2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_197047aa-a703-4ebc-b79b-9918fda31637" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_139fa56f-4ac6-4f7c-811a-0e6aaf3b4cc2" xlink:to="loc_us-gaap_EarningsPerShareTextBlock_197047aa-a703-4ebc-b79b-9918fda31637" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="qlys-20231231.xsd#TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_DescriptionOfBusinessPolicyPolicyTextBlock_a6cdb5bd-a7b2-43e6-b0d0-8babd2231c6b" xlink:href="qlys-20231231.xsd#qlys_DescriptionOfBusinessPolicyPolicyTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_qlys_DescriptionOfBusinessPolicyPolicyTextBlock_a6cdb5bd-a7b2-43e6-b0d0-8babd2231c6b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_ede57bf5-a7eb-4dc9-a1b4-fe5a1e2e397f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_ede57bf5-a7eb-4dc9-a1b4-fe5a1e2e397f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates_f4e08504-7a9f-4aef-8fea-5104e74b241a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_UseOfEstimates_f4e08504-7a9f-4aef-8fea-5104e74b241a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskCreditRisk_85f932bf-c18c-4426-9dbe-f7ba09186a71" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_ConcentrationRiskCreditRisk_85f932bf-c18c-4426-9dbe-f7ba09186a71" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock_87f63336-a6ad-4abf-bd8a-608146233f2f" xlink:href="qlys-20231231.xsd#qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock_87f63336-a6ad-4abf-bd8a-608146233f2f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy_f9932626-c160-4ea8-8146-58b00964a7c0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy_f9932626-c160-4ea8-8146-58b00964a7c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuritiesOwnedNotReadilyMarketablePolicy_547e0106-f3d9-4d15-bfa1-55db65231020" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuritiesOwnedNotReadilyMarketablePolicy"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_SecuritiesOwnedNotReadilyMarketablePolicy_547e0106-f3d9-4d15-bfa1-55db65231020" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_301ec400-ab30-4f41-8b9d-88d838592d22" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_301ec400-ab30-4f41-8b9d-88d838592d22" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeasesPolicyTextBlock_c18bf1aa-7ee5-405c-96bf-5e97f87e6c9b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeasesPolicyTextBlock"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_LesseeLeasesPolicyTextBlock_c18bf1aa-7ee5-405c-96bf-5e97f87e6c9b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_f5888642-03a9-415c-8e3e-3e37527a6cef" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_f5888642-03a9-415c-8e3e-3e37527a6cef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_c9105047-ad68-470f-a866-2eda8983f809" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_c9105047-ad68-470f-a866-2eda8983f809" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetAcquisitionsPolicyTextBlock_a4c0aab5-09a9-41b4-a76d-38edd919e940" xlink:href="qlys-20231231.xsd#qlys_AssetAcquisitionsPolicyTextBlock"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_qlys_AssetAcquisitionsPolicyTextBlock_a4c0aab5-09a9-41b4-a76d-38edd919e940" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsPolicy_932f84b1-612f-40c1-bd5b-9f9052974d52" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsPolicy"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_BusinessCombinationsPolicy_932f84b1-612f-40c1-bd5b-9f9052974d52" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativesReportingOfDerivativeActivity_6cac2349-0a9b-442b-bdfd-df43c2442118" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativesReportingOfDerivativeActivity"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_DerivativesReportingOfDerivativeActivity_6cac2349-0a9b-442b-bdfd-df43c2442118" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_4e7b09cd-daef-4dcb-8590-3727fe4b6bb3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_4e7b09cd-daef-4dcb-8590-3727fe4b6bb3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRecognitionPolicyTextBlock_f0b0797a-9440-499c-a6b1-8d29edb5e685" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionPolicyTextBlock"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_RevenueRecognitionPolicyTextBlock_f0b0797a-9440-499c-a6b1-8d29edb5e685" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingCostsPolicyTextBlock_023c3371-6660-4a80-a2b6-8b0e279c1500" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingCostsPolicyTextBlock"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_AdvertisingCostsPolicyTextBlock_023c3371-6660-4a80-a2b6-8b0e279c1500" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock_1f34d324-0d0c-48d6-b823-a7400fd3215f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_IncomeTaxPolicyTextBlock_1f34d324-0d0c-48d6-b823-a7400fd3215f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_f5f0e799-242a-4249-b058-871463a9d631" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_f5f0e799-242a-4249-b058-871463a9d631" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_0d78e744-8362-46a5-b7b2-9e9a7acdeeca" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_0d78e744-8362-46a5-b7b2-9e9a7acdeeca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock_99c77359-af69-492f-b59d-a27a6395f667" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_EarningsPerSharePolicyTextBlock_99c77359-af69-492f-b59d-a27a6395f667" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_f6c737d5-b03a-4493-8b06-e4b1ab9a252a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4ad796af-3b04-48f6-82c2-651991dbab16" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_f6c737d5-b03a-4493-8b06-e4b1ab9a252a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsTables" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsTables"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_b2340e54-5ad4-4256-948a-d68b6a219c16" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_0e71aa33-680b-40a5-af0e-56eb7c21e696" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_b2340e54-5ad4-4256-948a-d68b6a219c16" xlink:to="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_0e71aa33-680b-40a5-af0e-56eb7c21e696" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock_51546c0d-1a05-4135-83fb-d096838839ac" xlink:href="qlys-20231231.xsd#qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_b2340e54-5ad4-4256-948a-d68b6a219c16" xlink:to="loc_qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock_51546c0d-1a05-4135-83fb-d096838839ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock_29fade30-7c87-4d3b-9040-26194887a25b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_b2340e54-5ad4-4256-948a-d68b6a219c16" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock_29fade30-7c87-4d3b-9040-26194887a25b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_57e4208d-d081-4bf2-864a-eea6ea41d72c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_b2340e54-5ad4-4256-948a-d68b6a219c16" xlink:to="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_57e4208d-d081-4bf2-864a-eea6ea41d72c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsTextBlock_9effef48-cab1-44fd-82cd-fffbf491aa1f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDerivativeInstrumentsTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_b2340e54-5ad4-4256-948a-d68b6a219c16" xlink:to="loc_us-gaap_ScheduleOfDerivativeInstrumentsTextBlock_9effef48-cab1-44fd-82cd-fffbf491aa1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_46ff97fc-debc-45ff-979d-25997d5869c7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_b2340e54-5ad4-4256-948a-d68b6a219c16" xlink:to="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_46ff97fc-debc-45ff-979d-25997d5869c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossTables" xlink:type="simple" xlink:href="qlys-20231231.xsd#AccumulatedOtherComprehensiveIncomeLossTables"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_6da74d8f-a86c-413a-9da0-a8210246a533" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_bcf72e9f-3b8c-4e0e-baa4-f3e0184113db" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_6da74d8f-a86c-413a-9da0-a8210246a533" xlink:to="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_bcf72e9f-3b8c-4e0e-baa4-f3e0184113db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock_b7c11413-9987-4409-b08b-7156a4290e72" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_6da74d8f-a86c-413a-9da0-a8210246a533" xlink:to="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock_b7c11413-9987-4409-b08b-7156a4290e72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/PropertyandEquipmentNetTables" xlink:type="simple" xlink:href="qlys-20231231.xsd#PropertyandEquipmentNetTables"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/PropertyandEquipmentNetTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_662d94b6-0909-44e1-ab83-ea7c8a40efc0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_daf9236d-49ea-439a-be99-e46a686b8b7a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_662d94b6-0909-44e1-ab83-ea7c8a40efc0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_daf9236d-49ea-439a-be99-e46a686b8b7a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/RevenuefromContractsWithCustomersTables" xlink:type="simple" xlink:href="qlys-20231231.xsd#RevenuefromContractsWithCustomersTables"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/RevenuefromContractsWithCustomersTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_b93a1587-c90e-4b01-aceb-6eb102855345" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock_6fa37b58-f667-4e07-9cd0-2c29af689df9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_b93a1587-c90e-4b01-aceb-6eb102855345" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock_6fa37b58-f667-4e07-9cd0-2c29af689df9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_438f1d68-4741-4580-8aa7-a10dfd3a95f2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_b93a1587-c90e-4b01-aceb-6eb102855345" xlink:to="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_438f1d68-4741-4580-8aa7-a10dfd3a95f2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostTableTextBlock_eb099de5-22dd-4edd-853c-55b3596a3d7b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_b93a1587-c90e-4b01-aceb-6eb102855345" xlink:to="loc_us-gaap_CapitalizedContractCostTableTextBlock_eb099de5-22dd-4edd-853c-55b3596a3d7b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IntangibleAssetsNetTables" xlink:type="simple" xlink:href="qlys-20231231.xsd#IntangibleAssetsNetTables"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/IntangibleAssetsNetTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_26d4464c-ef48-4c68-938a-4c69ccb4f001" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_0722839b-b5fb-4482-9269-e7536ad8001f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_26d4464c-ef48-4c68-938a-4c69ccb4f001" xlink:to="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_0722839b-b5fb-4482-9269-e7536ad8001f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock_0bd12cb5-5f4e-41f8-aaeb-4f8cd6c06f5f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_26d4464c-ef48-4c68-938a-4c69ccb4f001" xlink:to="loc_us-gaap_ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock_0bd12cb5-5f4e-41f8-aaeb-4f8cd6c06f5f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_9f48c824-2551-412e-af10-df9a36f7d204" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_26d4464c-ef48-4c68-938a-4c69ccb4f001" xlink:to="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_9f48c824-2551-412e-af10-df9a36f7d204" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/LeasesTables" xlink:type="simple" xlink:href="qlys-20231231.xsd#LeasesTables"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/LeasesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_da57f3ad-7a8c-4201-9936-4a0c023b1818" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock_7fc8538f-6129-4630-a698-ece81ac70134" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_da57f3ad-7a8c-4201-9936-4a0c023b1818" xlink:to="loc_us-gaap_LeaseCostTableTextBlock_7fc8538f-6129-4630-a698-ece81ac70134" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetsAndLiabilitiesLesseeTableTextBlock_0d4fce66-21d8-4acd-9443-3c7d95a9b295" xlink:href="qlys-20231231.xsd#qlys_AssetsAndLiabilitiesLesseeTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_da57f3ad-7a8c-4201-9936-4a0c023b1818" xlink:to="loc_qlys_AssetsAndLiabilitiesLesseeTableTextBlock_0d4fce66-21d8-4acd-9443-3c7d95a9b295" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_a8e6794c-b7c6-4bbc-85fd-772181878350" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_da57f3ad-7a8c-4201-9936-4a0c023b1818" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_a8e6794c-b7c6-4bbc-85fd-772181878350" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/CommitmentandContingenciesTables" xlink:type="simple" xlink:href="qlys-20231231.xsd#CommitmentandContingenciesTables"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/CommitmentandContingenciesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_d9e202b8-7303-42b0-a659-a5a67f4889e8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ContractualObligationFiscalYearMaturityScheduleTableTextBlock_9986f8cf-b875-41cf-806a-294eb06e8be7" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ContractualObligationFiscalYearMaturityScheduleTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_d9e202b8-7303-42b0-a659-a5a67f4889e8" xlink:to="loc_srt_ContractualObligationFiscalYearMaturityScheduleTableTextBlock_9986f8cf-b875-41cf-806a-294eb06e8be7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationTables"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_4f67416b-78a1-4955-b6ac-5e4f7f8a6a46" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_048a37f8-f68c-4b13-9d16-82a2ee0a56de" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_4f67416b-78a1-4955-b6ac-5e4f7f8a6a46" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_048a37f8-f68c-4b13-9d16-82a2ee0a56de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_4d9f0359-6ad2-4411-b733-f84e0ab41798" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_4f67416b-78a1-4955-b6ac-5e4f7f8a6a46" xlink:to="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_4d9f0359-6ad2-4411-b733-f84e0ab41798" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_5b32dc13-c125-47fd-b795-5306dabd9004" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_4f67416b-78a1-4955-b6ac-5e4f7f8a6a46" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_5b32dc13-c125-47fd-b795-5306dabd9004" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_ccc54cee-616c-40c3-9750-88a2ba0d4a20" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_4f67416b-78a1-4955-b6ac-5e4f7f8a6a46" xlink:to="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_ccc54cee-616c-40c3-9750-88a2ba0d4a20" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock_d67f902c-30b8-4f18-afe5-aaa97a387ca7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_4f67416b-78a1-4955-b6ac-5e4f7f8a6a46" xlink:to="loc_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock_d67f902c-30b8-4f18-afe5-aaa97a387ca7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareRepurchaseProgramTableTextBlock_4e8cf2a3-cf7e-479e-8888-5bef240b7149" xlink:href="qlys-20231231.xsd#qlys_ShareRepurchaseProgramTableTextBlock"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_4f67416b-78a1-4955-b6ac-5e4f7f8a6a46" xlink:to="loc_qlys_ShareRepurchaseProgramTableTextBlock_4e8cf2a3-cf7e-479e-8888-5bef240b7149" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IncomeTaxesTables" xlink:type="simple" xlink:href="qlys-20231231.xsd#IncomeTaxesTables"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/IncomeTaxesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_803bc6bb-0703-41c3-9909-0777f95b9b58" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_48ffd998-f686-4af8-8a48-e71c0eff1773" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_803bc6bb-0703-41c3-9909-0777f95b9b58" xlink:to="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_48ffd998-f686-4af8-8a48-e71c0eff1773" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_501de5d2-c96c-4bfa-a2fc-bcd57aea06f3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_803bc6bb-0703-41c3-9909-0777f95b9b58" xlink:to="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_501de5d2-c96c-4bfa-a2fc-bcd57aea06f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_6fdada83-a35e-4982-9b77-766a32a44ecd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_803bc6bb-0703-41c3-9909-0777f95b9b58" xlink:to="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_6fdada83-a35e-4982-9b77-766a32a44ecd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_de8785dd-018d-41f5-b690-eef4f1c09c33" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_803bc6bb-0703-41c3-9909-0777f95b9b58" xlink:to="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_de8785dd-018d-41f5-b690-eef4f1c09c33" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_9de7e0ab-0c83-4dc6-8efc-ed961fbd6b2e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_803bc6bb-0703-41c3-9909-0777f95b9b58" xlink:to="loc_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_9de7e0ab-0c83-4dc6-8efc-ed961fbd6b2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/SegmentandGeographicAreaInformationTables" xlink:type="simple" xlink:href="qlys-20231231.xsd#SegmentandGeographicAreaInformationTables"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/SegmentandGeographicAreaInformationTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_a1bf0865-bb36-450c-adb9-e070768dd1de" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_cfd53dcb-b870-47a2-b2f3-7e963ab63aaf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_a1bf0865-bb36-450c-adb9-e070768dd1de" xlink:to="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_cfd53dcb-b870-47a2-b2f3-7e963ab63aaf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/NetIncomePerShareTables" xlink:type="simple" xlink:href="qlys-20231231.xsd#NetIncomePerShareTables"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/NetIncomePerShareTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_be75cc35-70e3-4ca2-9ffe-e6823902bf55" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_50512afc-b21e-448a-ab93-d2b344e2a9eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_be75cc35-70e3-4ca2-9ffe-e6823902bf55" xlink:to="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_50512afc-b21e-448a-ab93-d2b344e2a9eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_20fc9e5c-0376-4201-bf0a-b26fa0097140" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_be75cc35-70e3-4ca2-9ffe-e6823902bf55" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_20fc9e5c-0376-4201-bf0a-b26fa0097140" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_8bad304c-1c27-4d0d-be5f-dafeebc978d7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable_b2f34747-f3ed-47d6-b938-cdcbd8f9b0a9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_8bad304c-1c27-4d0d-be5f-dafeebc978d7" xlink:to="loc_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable_b2f34747-f3ed-47d6-b938-cdcbd8f9b0a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis_42e2cfc9-9a21-4869-99c8-71c89f85f950" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable_b2f34747-f3ed-47d6-b938-cdcbd8f9b0a9" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis_42e2cfc9-9a21-4869-99c8-71c89f85f950" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_e890b0f2-610a-465e-8996-6a0ec9b053ab" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis_42e2cfc9-9a21-4869-99c8-71c89f85f950" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_e890b0f2-610a-465e-8996-6a0ec9b053ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember_d81e63c1-1933-440b-870c-4e80ba22ee31" xlink:href="qlys-20231231.xsd#qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_e890b0f2-610a-465e-8996-6a0ec9b053ab" xlink:to="loc_qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember_d81e63c1-1933-440b-870c-4e80ba22ee31" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SecurityDepositsMember_adeaff66-b2d3-48cb-a547-e45c5aca67d4" xlink:href="qlys-20231231.xsd#qlys_SecurityDepositsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_e890b0f2-610a-465e-8996-6a0ec9b053ab" xlink:to="loc_qlys_SecurityDepositsMember_adeaff66-b2d3-48cb-a547-e45c5aca67d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PledgingPurposeAxis_24ac6396-d4af-4a8d-b200-be96fab98d6a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PledgingPurposeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable_b2f34747-f3ed-47d6-b938-cdcbd8f9b0a9" xlink:to="loc_us-gaap_PledgingPurposeAxis_24ac6396-d4af-4a8d-b200-be96fab98d6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PledgingPurposeDomain_90f7ed27-2b07-44c0-a7f0-252e791b6baf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PledgingPurposeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PledgingPurposeAxis_24ac6396-d4af-4a8d-b200-be96fab98d6a" xlink:to="loc_us-gaap_PledgingPurposeDomain_90f7ed27-2b07-44c0-a7f0-252e791b6baf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LetterOfCreditMember_2e770a04-9e1b-4525-a41b-df146781ab3e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LetterOfCreditMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PledgingPurposeDomain_90f7ed27-2b07-44c0-a7f0-252e791b6baf" xlink:to="loc_us-gaap_LetterOfCreditMember_2e770a04-9e1b-4525-a41b-df146781ab3e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_6c15e41b-e729-4897-ae3b-06dd3e8e451c" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable_b2f34747-f3ed-47d6-b938-cdcbd8f9b0a9" xlink:to="loc_srt_RangeAxis_6c15e41b-e729-4897-ae3b-06dd3e8e451c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_9753fe65-da42-4d9b-9d1e-42127eb45f97" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_6c15e41b-e729-4897-ae3b-06dd3e8e451c" xlink:to="loc_srt_RangeMember_9753fe65-da42-4d9b-9d1e-42127eb45f97" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_15a65821-352b-4e26-9fb3-a8adbfa688cf" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_9753fe65-da42-4d9b-9d1e-42127eb45f97" xlink:to="loc_srt_MinimumMember_15a65821-352b-4e26-9fb3-a8adbfa688cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_29091bc5-647e-440b-8908-36fe84655b2d" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_9753fe65-da42-4d9b-9d1e-42127eb45f97" xlink:to="loc_srt_MaximumMember_29091bc5-647e-440b-8908-36fe84655b2d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_c03538e7-baa3-4c84-a316-82c7eff629f5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable_b2f34747-f3ed-47d6-b938-cdcbd8f9b0a9" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_c03538e7-baa3-4c84-a316-82c7eff629f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d7160d56-409f-4d49-8900-8e3712af4dd8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_c03538e7-baa3-4c84-a316-82c7eff629f5" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d7160d56-409f-4d49-8900-8e3712af4dd8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ScannerAppliancesMember_b123cd44-8a94-4237-864b-4efb92e56d31" xlink:href="qlys-20231231.xsd#qlys_ScannerAppliancesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d7160d56-409f-4d49-8900-8e3712af4dd8" xlink:to="loc_qlys_ScannerAppliancesMember_b123cd44-8a94-4237-864b-4efb92e56d31" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4eafe5d7-08c9-43ae-a439-bbbbb702f692" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable_b2f34747-f3ed-47d6-b938-cdcbd8f9b0a9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4eafe5d7-08c9-43ae-a439-bbbbb702f692" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_20b8a288-d94f-4a30-b7bd-15e27dcc493c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4eafe5d7-08c9-43ae-a439-bbbbb702f692" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_20b8a288-d94f-4a30-b7bd-15e27dcc493c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_312790a8-c6f8-4b69-b02b-72d3ca7650f9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_20b8a288-d94f-4a30-b7bd-15e27dcc493c" xlink:to="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_312790a8-c6f8-4b69-b02b-72d3ca7650f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable_b2f34747-f3ed-47d6-b938-cdcbd8f9b0a9" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCash_d844a525-5fd7-489a-97c4-b990575014be" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCash"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_RestrictedCash_d844a525-5fd7-489a-97c4-b990575014be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNet_4ddb9148-beaa-4af8-ad7d-a802399b56f7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_AccountsReceivableNet_4ddb9148-beaa-4af8-ad7d-a802399b56f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Investments_db4ddfc4-5b9b-4409-95fd-e1bee07edca4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Investments"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_Investments_db4ddfc4-5b9b-4409-95fd-e1bee07edca4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDividendsReceived_8e759bb3-d039-42eb-87c3-224c87310a45" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromDividendsReceived"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_ProceedsFromDividendsReceived_8e759bb3-d039-42eb-87c3-224c87310a45" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForAdvanceToAffiliate_8e4a0175-c985-429f-b4ac-5bb7873bb899" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForAdvanceToAffiliate"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_PaymentsForAdvanceToAffiliate_8e4a0175-c985-429f-b4ac-5bb7873bb899" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_96d1092c-76aa-4bae-9e96-499cb3f282e1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_96d1092c-76aa-4bae-9e96-499cb3f282e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse_368941d7-65cf-4f65-b97e-e017bc441112" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfLongLivedAssetsHeldForUse"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse_368941d7-65cf-4f65-b97e-e017bc441112" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportingUnits_0b72c74e-229c-4ada-ad63-af52072188cc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportingUnits"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_NumberOfReportingUnits_0b72c74e-229c-4ada-ad63-af52072188cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_09e40804-9189-477f-8d5a-f0eda1f52d72" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_09e40804-9189-477f-8d5a-f0eda1f52d72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeTermOfContract_5f48f30c-0fa7-41e4-a345-25a4affc39b0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeTermOfContract"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_DerivativeTermOfContract_5f48f30c-0fa7-41e4-a345-25a4affc39b0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortizationPeriod_e6d1a485-6249-41b7-800b-cecf904dc2c6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_CapitalizedContractCostAmortizationPeriod_e6d1a485-6249-41b7-800b-cecf904dc2c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingExpense_0a704ab7-5811-4796-bdea-4e0aad9ca8f6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems_9d38ae4b-f41d-4bd9-96ca-767e96dcdbb3" xlink:to="loc_us-gaap_AdvertisingExpense_0a704ab7-5811-4796-bdea-4e0aad9ca8f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsFairValueHierarchyDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_10ca8ed6-e0d8-4bac-9b4a-b9d5628f422a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_db0f4c1d-a3c8-45c6-8d3a-713b4a4ef121" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOptionQuantitativeDisclosuresTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_10ca8ed6-e0d8-4bac-9b4a-b9d5628f422a" xlink:to="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_db0f4c1d-a3c8-45c6-8d3a-713b4a4ef121" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_5037fe67-55b1-4111-b221-62f96454475d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_db0f4c1d-a3c8-45c6-8d3a-713b4a4ef121" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_5037fe67-55b1-4111-b221-62f96454475d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9d278bc8-2e1d-4a84-8cb8-7dab8e3131d0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_5037fe67-55b1-4111-b221-62f96454475d" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9d278bc8-2e1d-4a84-8cb8-7dab8e3131d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_2808171f-f38f-4d66-b245-b83fb5c73ec9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9d278bc8-2e1d-4a84-8cb8-7dab8e3131d0" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_2808171f-f38f-4d66-b245-b83fb5c73ec9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_fbb75b89-0b28-477d-a0b6-778a5a7caa8d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9d278bc8-2e1d-4a84-8cb8-7dab8e3131d0" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_fbb75b89-0b28-477d-a0b6-778a5a7caa8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6fd6ed1f-2f1f-4aa9-8225-1079bd7281d6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_db0f4c1d-a3c8-45c6-8d3a-713b4a4ef121" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6fd6ed1f-2f1f-4aa9-8225-1079bd7281d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_f8d3dff7-41b0-443e-8976-a8f4b37660c7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6fd6ed1f-2f1f-4aa9-8225-1079bd7281d6" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_f8d3dff7-41b0-443e-8976-a8f4b37660c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_7e17cfdc-aaaa-4e5f-b071-0a33a83b2a81" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_f8d3dff7-41b0-443e-8976-a8f4b37660c7" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_7e17cfdc-aaaa-4e5f-b071-0a33a83b2a81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOptionQuantitativeDisclosuresLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_db0f4c1d-a3c8-45c6-8d3a-713b4a4ef121" xlink:to="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_c4c64d17-73aa-47fc-bd4b-1bd2fdf32611" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_c4c64d17-73aa-47fc-bd4b-1bd2fdf32611" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperAtCarryingValue_3d32bdd8-2906-434c-ae2c-ea1a5f4a2891" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperAtCarryingValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_CommercialPaperAtCarryingValue_3d32bdd8-2906-434c-ae2c-ea1a5f4a2891" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue_6312c064-3c37-4fbe-92d9-4e6c889a61fa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue_6312c064-3c37-4fbe-92d9-4e6c889a61fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue_3d2d502c-ba8b-4518-ae04-c68e1b04c56f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue_3d2d502c-ba8b-4518-ae04-c68e1b04c56f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue_cecc6514-7644-43e2-bd31-d5c9c3557b7d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue_cecc6514-7644-43e2-bd31-d5c9c3557b7d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesAtCarryingValue_e82719d0-4f2d-4e5c-9ae1-4f3e43835193" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesAtCarryingValue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_AssetBackedSecuritiesAtCarryingValue_e82719d0-4f2d-4e5c-9ae1-4f3e43835193" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue_41740a92-eb8d-4a01-b9af-31a11d68b6cc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue_41740a92-eb8d-4a01-b9af-31a11d68b6cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentsOwnedAtFairValue_03af5cce-c1bc-4323-9586-1a03e314eccb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsOwnedAtFairValue"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_FinancialInstrumentsOwnedAtFairValue_03af5cce-c1bc-4323-9586-1a03e314eccb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_fb6c915c-98a6-43eb-8394-2dc4bfbccefe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_fb6c915c-98a6-43eb-8394-2dc4bfbccefe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialLiabilitiesFairValueDisclosure_99f256cc-f508-4a20-adcc-77ec551c5e1d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialLiabilitiesFairValueDisclosure"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems_dcabb05b-5ef1-41a5-bff1-3e746d5935af" xlink:to="loc_us-gaap_FinancialLiabilitiesFairValueDisclosure_99f256cc-f508-4a20-adcc-77ec551c5e1d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsCashandCashEquivalentsDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_f6c111e9-bffa-4d0a-bea9-e5ce64b52e68" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_ba94bb9d-fb94-4b68-9290-f78f7c377b8d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOptionQuantitativeDisclosuresTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_f6c111e9-bffa-4d0a-bea9-e5ce64b52e68" xlink:to="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_ba94bb9d-fb94-4b68-9290-f78f7c377b8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_c094bb9f-89f5-4018-8b38-6885ec6bd315" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_ba94bb9d-fb94-4b68-9290-f78f7c377b8d" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_c094bb9f-89f5-4018-8b38-6885ec6bd315" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_708d75f5-3243-40b0-a3bc-f50eca6a212c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_c094bb9f-89f5-4018-8b38-6885ec6bd315" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_708d75f5-3243-40b0-a3bc-f50eca6a212c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember_50cae922-befe-4d83-b119-70022e67d6a5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_708d75f5-3243-40b0-a3bc-f50eca6a212c" xlink:to="loc_us-gaap_MoneyMarketFundsMember_50cae922-befe-4d83-b119-70022e67d6a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember_85fb775f-9d67-48b2-b053-feeddc3132b1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_708d75f5-3243-40b0-a3bc-f50eca6a212c" xlink:to="loc_us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember_85fb775f-9d67-48b2-b053-feeddc3132b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_da94b540-ae14-411f-9e8f-7ef745acd1bb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_ba94bb9d-fb94-4b68-9290-f78f7c377b8d" xlink:to="loc_us-gaap_FinancialInstrumentAxis_da94b540-ae14-411f-9e8f-7ef745acd1bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_68de5ff3-1df6-4340-ad6c-60fd36b5d676" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_da94b540-ae14-411f-9e8f-7ef745acd1bb" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_68de5ff3-1df6-4340-ad6c-60fd36b5d676" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember_2303d26a-70ba-486c-a43c-a9efbe2ac9dc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_68de5ff3-1df6-4340-ad6c-60fd36b5d676" xlink:to="loc_us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember_2303d26a-70ba-486c-a43c-a9efbe2ac9dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateDebtSecuritiesMember_71f92ca3-18fb-4cfe-a602-7e345aeb5b93" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateDebtSecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_68de5ff3-1df6-4340-ad6c-60fd36b5d676" xlink:to="loc_us-gaap_CorporateDebtSecuritiesMember_71f92ca3-18fb-4cfe-a602-7e345aeb5b93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_ae915ded-e275-4c3b-89ec-92df06bf5b93" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_68de5ff3-1df6-4340-ad6c-60fd36b5d676" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_ae915ded-e275-4c3b-89ec-92df06bf5b93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_3777b7e4-e71d-485b-b21c-605637cc748f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USGovernmentAgenciesDebtSecuritiesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_68de5ff3-1df6-4340-ad6c-60fd36b5d676" xlink:to="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_3777b7e4-e71d-485b-b21c-605637cc748f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ForeignGovernmentAgenciesMember_e8c10d7a-0265-42d8-8315-07663292fe70" xlink:href="qlys-20231231.xsd#qlys_ForeignGovernmentAgenciesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_68de5ff3-1df6-4340-ad6c-60fd36b5d676" xlink:to="loc_qlys_ForeignGovernmentAgenciesMember_e8c10d7a-0265-42d8-8315-07663292fe70" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByAssetClassAxis_ee1c884f-480f-4398-a2a9-22f92666e150" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByAssetClassAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_ba94bb9d-fb94-4b68-9290-f78f7c377b8d" xlink:to="loc_us-gaap_FairValueByAssetClassAxis_ee1c884f-480f-4398-a2a9-22f92666e150" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_5880f940-1d8c-409e-b6c9-ea465a422cc1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByAssetClassAxis_ee1c884f-480f-4398-a2a9-22f92666e150" xlink:to="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_5880f940-1d8c-409e-b6c9-ea465a422cc1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashEquivalentsMember_adff6eef-31f1-45b3-9f79-1f12b0bfc084" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashEquivalentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_5880f940-1d8c-409e-b6c9-ea465a422cc1" xlink:to="loc_us-gaap_CashEquivalentsMember_adff6eef-31f1-45b3-9f79-1f12b0bfc084" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermInvestmentsMember_88510161-64fe-46d6-b425-19781aa09be0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestmentsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_5880f940-1d8c-409e-b6c9-ea465a422cc1" xlink:to="loc_us-gaap_ShortTermInvestmentsMember_88510161-64fe-46d6-b425-19781aa09be0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLongTermInvestmentsMember_68393ec6-44b3-4a6b-8470-613c7bf3d437" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLongTermInvestmentsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_5880f940-1d8c-409e-b6c9-ea465a422cc1" xlink:to="loc_us-gaap_OtherLongTermInvestmentsMember_68393ec6-44b3-4a6b-8470-613c7bf3d437" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_2a958861-37a3-40e8-ab98-18503cb8df18" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativesFairValueLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_ba94bb9d-fb94-4b68-9290-f78f7c377b8d" xlink:to="loc_us-gaap_DerivativesFairValueLineItems_2a958861-37a3-40e8-ab98-18503cb8df18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_3f0b9f16-2a12-428f-96e4-1bb008ea7cc0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_2a958861-37a3-40e8-ab98-18503cb8df18" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_3f0b9f16-2a12-428f-96e4-1bb008ea7cc0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_6f0b4804-8877-4030-a012-e66663b24cfb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_2a958861-37a3-40e8-ab98-18503cb8df18" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_6f0b4804-8877-4030-a012-e66663b24cfb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_8ec4c1e2-a6a3-4fa4-96c2-e8cd41eb27a4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_2a958861-37a3-40e8-ab98-18503cb8df18" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_8ec4c1e2-a6a3-4fa4-96c2-e8cd41eb27a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_81add350-5a93-4c06-bba6-b344d03c9ca1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_2a958861-37a3-40e8-ab98-18503cb8df18" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_81add350-5a93-4c06-bba6-b344d03c9ca1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Cash_146e15f9-0735-42a0-b17e-431008b94931" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_2a958861-37a3-40e8-ab98-18503cb8df18" xlink:to="loc_us-gaap_Cash_146e15f9-0735-42a0-b17e-431008b94931" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_730c3712-b6b2-41cd-956a-6ccf68860eb0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable_b11bf892-d1fa-4ad9-b0cb-160b3a20998c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_730c3712-b6b2-41cd-956a-6ccf68860eb0" xlink:to="loc_us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable_b11bf892-d1fa-4ad9-b0cb-160b3a20998c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_ee7cd8b2-e1c8-4cae-856b-3c0ab59fca2e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable_b11bf892-d1fa-4ad9-b0cb-160b3a20998c" xlink:to="loc_us-gaap_FinancialInstrumentAxis_ee7cd8b2-e1c8-4cae-856b-3c0ab59fca2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b9a49c51-ffd1-4bb8-bbb9-a035b55079c2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_ee7cd8b2-e1c8-4cae-856b-3c0ab59fca2e" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b9a49c51-ffd1-4bb8-bbb9-a035b55079c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember_383560a8-9bb6-4b25-9cfc-a67afecf11ae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b9a49c51-ffd1-4bb8-bbb9-a035b55079c2" xlink:to="loc_us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember_383560a8-9bb6-4b25-9cfc-a67afecf11ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ForeignGovernmentAgenciesMember_fb8b390a-aa97-4d7f-8a14-88640b3ee35a" xlink:href="qlys-20231231.xsd#qlys_ForeignGovernmentAgenciesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b9a49c51-ffd1-4bb8-bbb9-a035b55079c2" xlink:to="loc_qlys_ForeignGovernmentAgenciesMember_fb8b390a-aa97-4d7f-8a14-88640b3ee35a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_6f845d8b-5cd6-407e-b6e1-4bb62c629a96" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b9a49c51-ffd1-4bb8-bbb9-a035b55079c2" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_6f845d8b-5cd6-407e-b6e1-4bb62c629a96" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateDebtSecuritiesMember_830c3ef4-13f9-4064-ae4d-5b1f24b974c2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateDebtSecuritiesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b9a49c51-ffd1-4bb8-bbb9-a035b55079c2" xlink:to="loc_us-gaap_CorporateDebtSecuritiesMember_830c3ef4-13f9-4064-ae4d-5b1f24b974c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_73b34a20-2fa3-4f6f-9ccd-c003dfa91f0a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USGovernmentAgenciesDebtSecuritiesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b9a49c51-ffd1-4bb8-bbb9-a035b55079c2" xlink:to="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_73b34a20-2fa3-4f6f-9ccd-c003dfa91f0a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems_472329a7-e798-4ac2-af17-3fe00d5ff9d3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable_b11bf892-d1fa-4ad9-b0cb-160b3a20998c" xlink:to="loc_us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems_472329a7-e798-4ac2-af17-3fe00d5ff9d3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesCurrentAbstract_5512143c-6624-4fdf-827e-1c2b27fa0b82" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems_472329a7-e798-4ac2-af17-3fe00d5ff9d3" xlink:to="loc_us-gaap_DebtSecuritiesCurrentAbstract_5512143c-6624-4fdf-827e-1c2b27fa0b82" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_deb38f31-949a-455a-9d5d-9c09b03ec0b4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesCurrentAbstract_5512143c-6624-4fdf-827e-1c2b27fa0b82" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_deb38f31-949a-455a-9d5d-9c09b03ec0b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_e5258b29-1f51-45f0-bdd5-4f0dd1588c80" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesCurrentAbstract_5512143c-6624-4fdf-827e-1c2b27fa0b82" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_e5258b29-1f51-45f0-bdd5-4f0dd1588c80" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesNoncurrentAbstract_572a502d-2584-47bd-9350-1166afee2187" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesNoncurrentAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems_472329a7-e798-4ac2-af17-3fe00d5ff9d3" xlink:to="loc_us-gaap_DebtSecuritiesNoncurrentAbstract_572a502d-2584-47bd-9350-1166afee2187" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_323b0cd7-f154-478d-be52-a316a4777e70" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesNoncurrentAbstract_572a502d-2584-47bd-9350-1166afee2187" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_323b0cd7-f154-478d-be52-a316a4777e70" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_8e7ecfe9-13ad-4a4d-a287-d1f6c890ca48" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesNoncurrentAbstract_572a502d-2584-47bd-9350-1166afee2187" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_8e7ecfe9-13ad-4a4d-a287-d1f6c890ca48" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAbstract_686798c4-ba4a-4888-9af1-ab963ac745bb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems_472329a7-e798-4ac2-af17-3fe00d5ff9d3" xlink:to="loc_us-gaap_DebtSecuritiesAbstract_686798c4-ba4a-4888-9af1-ab963ac745bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_2e0c47d2-3791-47fb-87ca-729e4958af3b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesAbstract_686798c4-ba4a-4888-9af1-ab963ac745bb" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_2e0c47d2-3791-47fb-87ca-729e4958af3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_e7506d02-4ca4-4f55-9c78-849a9d37dd58" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesAbstract_686798c4-ba4a-4888-9af1-ab963ac745bb" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_e7506d02-4ca4-4f55-9c78-849a9d37dd58" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_17581acc-f621-4d79-8c96-9ac482e3c495" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract_00303622-7148-44ef-a850-22993a497f60" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_17581acc-f621-4d79-8c96-9ac482e3c495" xlink:to="loc_us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract_00303622-7148-44ef-a850-22993a497f60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_fe1148f5-af20-413a-87bc-ccffad8b5823" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract_00303622-7148-44ef-a850-22993a497f60" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost_fe1148f5-af20-413a-87bc-ccffad8b5823" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_f11a3300-1f55-431e-a58c-9561813c331d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract_00303622-7148-44ef-a850-22993a497f60" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost_f11a3300-1f55-431e-a58c-9561813c331d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost_fa6f3435-5232-4106-8bc8-fbe94e6d313e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract_00303622-7148-44ef-a850-22993a497f60" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost_fa6f3435-5232-4106-8bc8-fbe94e6d313e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost_fbf1a378-d54d-4e77-96ce-da3f3466193c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract_00303622-7148-44ef-a850-22993a497f60" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost_fbf1a378-d54d-4e77-96ce-da3f3466193c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_3411e493-7986-4041-b083-710cf680bb73" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract_00303622-7148-44ef-a850-22993a497f60" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_3411e493-7986-4041-b083-710cf680bb73" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract_7182bda6-ebe2-40c2-bafe-d250a4d582a6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_17581acc-f621-4d79-8c96-9ac482e3c495" xlink:to="loc_us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract_7182bda6-ebe2-40c2-bafe-d250a4d582a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_0fd2b410-1eb4-4ce4-bf28-c62d3597b886" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract_7182bda6-ebe2-40c2-bafe-d250a4d582a6" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_0fd2b410-1eb4-4ce4-bf28-c62d3597b886" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_7f1b6a38-aaaf-492f-8982-8fa0f79f4ada" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract_7182bda6-ebe2-40c2-bafe-d250a4d582a6" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue_7f1b6a38-aaaf-492f-8982-8fa0f79f4ada" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue_46acc4e5-265b-4ec6-aafa-363c3fdffa8d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract_7182bda6-ebe2-40c2-bafe-d250a4d582a6" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue_46acc4e5-265b-4ec6-aafa-363c3fdffa8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue_6a9341ca-578f-4472-a7c4-26a51ef4d6c3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract_7182bda6-ebe2-40c2-bafe-d250a4d582a6" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue_6a9341ca-578f-4472-a7c4-26a51ef4d6c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_ba9ccabb-07ba-4f88-b2d5-3674dcd745e9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract_7182bda6-ebe2-40c2-bafe-d250a4d582a6" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_ba9ccabb-07ba-4f88-b2d5-3674dcd745e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_e280f55e-c239-4665-aa30-88edbccdde9e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OffsettingAssetsTable_c0676053-47e6-4a47-8295-01f65ba4d344" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OffsettingAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_e280f55e-c239-4665-aa30-88edbccdde9e" xlink:to="loc_us-gaap_OffsettingAssetsTable_c0676053-47e6-4a47-8295-01f65ba4d344" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentRiskAxis_2e500c11-1a86-443d-835c-4b9213d7ff65" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentRiskAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OffsettingAssetsTable_c0676053-47e6-4a47-8295-01f65ba4d344" xlink:to="loc_us-gaap_DerivativeInstrumentRiskAxis_2e500c11-1a86-443d-835c-4b9213d7ff65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain_850648a9-90f7-4b55-83df-1427fa667383" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis_2e500c11-1a86-443d-835c-4b9213d7ff65" xlink:to="loc_us-gaap_DerivativeContractTypeDomain_850648a9-90f7-4b55-83df-1427fa667383" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignExchangeContractMember_e63ac97d-de65-4782-8e1a-dc0f2209b81f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignExchangeContractMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_850648a9-90f7-4b55-83df-1427fa667383" xlink:to="loc_us-gaap_ForeignExchangeContractMember_e63ac97d-de65-4782-8e1a-dc0f2209b81f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ForeignExchangeContractsForGBPAndEuroMember_b03123af-7bcb-4bc9-a358-605576e340c4" xlink:href="qlys-20231231.xsd#qlys_ForeignExchangeContractsForGBPAndEuroMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_850648a9-90f7-4b55-83df-1427fa667383" xlink:to="loc_qlys_ForeignExchangeContractsForGBPAndEuroMember_b03123af-7bcb-4bc9-a358-605576e340c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationAxis_8512fa18-28fe-4359-9032-cacd623a2ea7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OffsettingAssetsTable_c0676053-47e6-4a47-8295-01f65ba4d344" xlink:to="loc_us-gaap_HedgingDesignationAxis_8512fa18-28fe-4359-9032-cacd623a2ea7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_efd9cc12-c5f3-44c3-9ed5-d238937613d7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_8512fa18-28fe-4359-9032-cacd623a2ea7" xlink:to="loc_us-gaap_HedgingDesignationDomain_efd9cc12-c5f3-44c3-9ed5-d238937613d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_1010cfd3-2808-48c2-bb1c-f168604ad957" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DesignatedAsHedgingInstrumentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_efd9cc12-c5f3-44c3-9ed5-d238937613d7" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_1010cfd3-2808-48c2-bb1c-f168604ad957" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NondesignatedMember_2e42b54c-e93d-4f22-87fd-3a5fa0431e00" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NondesignatedMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_efd9cc12-c5f3-44c3-9ed5-d238937613d7" xlink:to="loc_us-gaap_NondesignatedMember_2e42b54c-e93d-4f22-87fd-3a5fa0431e00" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_d78d01d4-e6ec-4776-a6fe-2a74b9ca50f0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OffsettingAssetsTable_c0676053-47e6-4a47-8295-01f65ba4d344" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_d78d01d4-e6ec-4776-a6fe-2a74b9ca50f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingRelationshipDomain_8e361749-cbd8-443b-b571-cda24cbbfb7c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingRelationshipDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_d78d01d4-e6ec-4776-a6fe-2a74b9ca50f0" xlink:to="loc_us-gaap_HedgingRelationshipDomain_8e361749-cbd8-443b-b571-cda24cbbfb7c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashFlowHedgingMember_4f162548-9571-415a-bd36-5c09f5f592f5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashFlowHedgingMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingRelationshipDomain_8e361749-cbd8-443b-b571-cda24cbbfb7c" xlink:to="loc_us-gaap_CashFlowHedgingMember_4f162548-9571-415a-bd36-5c09f5f592f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_4a442896-cf86-4fa3-8349-4334ce78b07d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativesFairValueLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OffsettingAssetsTable_c0676053-47e6-4a47-8295-01f65ba4d344" xlink:to="loc_us-gaap_DerivativesFairValueLineItems_4a442896-cf86-4fa3-8349-4334ce78b07d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeNotionalAmount_b2e9b41e-6f66-4a55-b0a2-56e7c067ecaa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeNotionalAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_4a442896-cf86-4fa3-8349-4334ce78b07d" xlink:to="loc_us-gaap_DerivativeNotionalAmount_b2e9b41e-6f66-4a55-b0a2-56e7c067ecaa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months_02bd10a6-3aae-4b0f-a665-311ceb47008a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_4a442896-cf86-4fa3-8349-4334ce78b07d" xlink:to="loc_us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months_02bd10a6-3aae-4b0f-a665-311ceb47008a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_f7bd14b0-2940-41d2-95b6-41ec4a18e29f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_6e7e3f05-992d-4626-8b2e-04ea02d60306" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOptionQuantitativeDisclosuresTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_f7bd14b0-2940-41d2-95b6-41ec4a18e29f" xlink:to="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_6e7e3f05-992d-4626-8b2e-04ea02d60306" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationAxis_57adc63c-215b-406a-ab09-6898e3547214" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_6e7e3f05-992d-4626-8b2e-04ea02d60306" xlink:to="loc_us-gaap_HedgingDesignationAxis_57adc63c-215b-406a-ab09-6898e3547214" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_d19debfb-863b-4130-9f39-b67cd8a90586" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_57adc63c-215b-406a-ab09-6898e3547214" xlink:to="loc_us-gaap_HedgingDesignationDomain_d19debfb-863b-4130-9f39-b67cd8a90586" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_a8f5040b-a251-4e39-b128-34d5df66c0de" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DesignatedAsHedgingInstrumentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_d19debfb-863b-4130-9f39-b67cd8a90586" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_a8f5040b-a251-4e39-b128-34d5df66c0de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NondesignatedMember_d9991d18-428b-445e-81c5-d776263ec3cd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NondesignatedMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_d19debfb-863b-4130-9f39-b67cd8a90586" xlink:to="loc_us-gaap_NondesignatedMember_d9991d18-428b-445e-81c5-d776263ec3cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_6d251148-2c5d-4c87-b645-731c62ee4d63" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativesFairValueLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueOptionQuantitativeDisclosuresTable_6e7e3f05-992d-4626-8b2e-04ea02d60306" xlink:to="loc_us-gaap_DerivativesFairValueLineItems_6d251148-2c5d-4c87-b645-731c62ee4d63" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_7a461527-c07f-40b9-ac94-a4c0e11c2659" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_6d251148-2c5d-4c87-b645-731c62ee4d63" xlink:to="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_7a461527-c07f-40b9-ac94-a4c0e11c2659" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_3ba342f4-84fd-46e6-91f2-45a9aa832454" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_6d251148-2c5d-4c87-b645-731c62ee4d63" xlink:to="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_3ba342f4-84fd-46e6-91f2-45a9aa832454" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_d6e11d97-7e38-4457-8dd3-04bff986deb5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments_bb44e958-b937-40b5-b037-88bfb709c244" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_d6e11d97-7e38-4457-8dd3-04bff986deb5" xlink:to="loc_us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments_bb44e958-b937-40b5-b037-88bfb709c244" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_e5c5a103-fbf2-412d-a065-4edbe0742641" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_d6e11d97-7e38-4457-8dd3-04bff986deb5" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_e5c5a103-fbf2-412d-a065-4edbe0742641" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_a6a8c403-cd0d-4182-bb0b-11165b46771f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_d6e11d97-7e38-4457-8dd3-04bff986deb5" xlink:to="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_a6a8c403-cd0d-4182-bb0b-11165b46771f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_b7c6da13-caa9-49fe-b820-38df8a8d271f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_5f283f41-91c0-4744-9f12-99d272f6483e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_b7c6da13-caa9-49fe-b820-38df8a8d271f" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_5f283f41-91c0-4744-9f12-99d272f6483e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_f8dd2d11-775f-45d8-a732-4e3ed8298942" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_5f283f41-91c0-4744-9f12-99d272f6483e" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_f8dd2d11-775f-45d8-a732-4e3ed8298942" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_8db52e39-9e66-4bc1-bb75-01ed6bd2d7b8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_f8dd2d11-775f-45d8-a732-4e3ed8298942" xlink:to="loc_us-gaap_EquityComponentDomain_8db52e39-9e66-4bc1-bb75-01ed6bd2d7b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cf890a5f-487f-4cec-9ae1-7b35fab142e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_8db52e39-9e66-4bc1-bb75-01ed6bd2d7b8" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cf890a5f-487f-4cec-9ae1-7b35fab142e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember_92fae335-93d6-4e4a-a71f-7298b16cf028" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cf890a5f-487f-4cec-9ae1-7b35fab142e3" xlink:to="loc_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember_92fae335-93d6-4e4a-a71f-7298b16cf028" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_75e81228-f349-464c-8643-d53139c7638f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cf890a5f-487f-4cec-9ae1-7b35fab142e3" xlink:to="loc_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_75e81228-f349-464c-8643-d53139c7638f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_7c6b3b3e-e03d-46bb-acac-f66bcc0057b6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_5f283f41-91c0-4744-9f12-99d272f6483e" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_7c6b3b3e-e03d-46bb-acac-f66bcc0057b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_9a9adfff-8a0e-46e6-a2ad-a5e3f7863902" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AOCIAttributableToParentNetOfTaxRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_7c6b3b3e-e03d-46bb-acac-f66bcc0057b6" xlink:to="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_9a9adfff-8a0e-46e6-a2ad-a5e3f7863902" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_adbb807a-7b68-4d3d-86d2-5064a13610f7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_9a9adfff-8a0e-46e6-a2ad-a5e3f7863902" xlink:to="loc_us-gaap_StockholdersEquity_adbb807a-7b68-4d3d-86d2-5064a13610f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent_ff28df7b-f4cb-4d58-ba75-9b55ca4d73e8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_9a9adfff-8a0e-46e6-a2ad-a5e3f7863902" xlink:to="loc_us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent_ff28df7b-f4cb-4d58-ba75-9b55ca4d73e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent_8d131097-9f31-4870-9914-58208023f46d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_9a9adfff-8a0e-46e6-a2ad-a5e3f7863902" xlink:to="loc_us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent_8d131097-9f31-4870-9914-58208023f46d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1_19b882d6-a96f-493a-ad8d-64c457d7ff87" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_9a9adfff-8a0e-46e6-a2ad-a5e3f7863902" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1_19b882d6-a96f-493a-ad8d-64c457d7ff87" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_3340fa5e-50c7-45af-8b02-3aec3c6fbe13" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_9a9adfff-8a0e-46e6-a2ad-a5e3f7863902" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_3340fa5e-50c7-45af-8b02-3aec3c6fbe13" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_f0d4aa7b-2834-4089-a62c-3d769bf4c729" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_9a9adfff-8a0e-46e6-a2ad-a5e3f7863902" xlink:to="loc_us-gaap_StockholdersEquity_f0d4aa7b-2834-4089-a62c-3d769bf4c729" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_55ed4c6f-2bc0-427d-94e4-f164b7f4dd01" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_8cd8e84f-88b6-4443-93c9-b46cff86b2ba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_55ed4c6f-2bc0-427d-94e4-f164b7f4dd01" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_8cd8e84f-88b6-4443-93c9-b46cff86b2ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis_54dc66bf-ece0-4e08-818d-611a88776327" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_8cd8e84f-88b6-4443-93c9-b46cff86b2ba" xlink:to="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis_54dc66bf-ece0-4e08-818d-611a88776327" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain_ae10e627-9981-483f-9bef-83c61422c5c5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis_54dc66bf-ece0-4e08-818d-611a88776327" xlink:to="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain_ae10e627-9981-483f-9bef-83c61422c5c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember_358c6efe-20bf-4f88-8a9f-12d08e319188" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain_ae10e627-9981-483f-9bef-83c61422c5c5" xlink:to="loc_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember_358c6efe-20bf-4f88-8a9f-12d08e319188" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_b94338ef-5e78-4635-ade1-c7884638351e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_8cd8e84f-88b6-4443-93c9-b46cff86b2ba" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_b94338ef-5e78-4635-ade1-c7884638351e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_dab74778-269f-4220-b58f-00b4e59e36a3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_b94338ef-5e78-4635-ade1-c7884638351e" xlink:to="loc_us-gaap_EquityComponentDomain_dab74778-269f-4220-b58f-00b4e59e36a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember_0cad3af3-639c-4264-92a2-557bbe2a331f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_dab74778-269f-4220-b58f-00b4e59e36a3" xlink:to="loc_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember_0cad3af3-639c-4264-92a2-557bbe2a331f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_5bf79c33-ec42-4c88-a35d-da0a412dced7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_dab74778-269f-4220-b58f-00b4e59e36a3" xlink:to="loc_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_5bf79c33-ec42-4c88-a35d-da0a412dced7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_1d11e02c-55ac-4758-a197-a82e82bfd583" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_8cd8e84f-88b6-4443-93c9-b46cff86b2ba" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_1d11e02c-55ac-4758-a197-a82e82bfd583" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract_976ec502-94c4-45c8-aaca-5309ff2b50ee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_1d11e02c-55ac-4758-a197-a82e82bfd583" xlink:to="loc_us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract_976ec502-94c4-45c8-aaca-5309ff2b50ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_ff97ddde-6577-488c-ac4f-314896b9c513" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract_976ec502-94c4-45c8-aaca-5309ff2b50ee" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_ff97ddde-6577-488c-ac4f-314896b9c513" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AOCIAttributableToParentAbstract_0e234316-e429-42ba-8de2-d833399d1b18" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AOCIAttributableToParentAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_1d11e02c-55ac-4758-a197-a82e82bfd583" xlink:to="loc_us-gaap_AOCIAttributableToParentAbstract_0e234316-e429-42ba-8de2-d833399d1b18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_db4a7d01-f17c-409c-b8c9-f4bc739012fd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentAbstract_0e234316-e429-42ba-8de2-d833399d1b18" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_db4a7d01-f17c-409c-b8c9-f4bc739012fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_471c3736-baa9-4e25-bf9a-9abc407b3eba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentAbstract_0e234316-e429-42ba-8de2-d833399d1b18" xlink:to="loc_us-gaap_CostOfRevenue_471c3736-baa9-4e25-bf9a-9abc407b3eba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_fdcef6d4-7060-4d28-8d9f-2d3dbb9c6d3c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentAbstract_0e234316-e429-42ba-8de2-d833399d1b18" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_fdcef6d4-7060-4d28-8d9f-2d3dbb9c6d3c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_024d0fe4-0f5f-4c35-b95e-1cab775fd759" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentAbstract_0e234316-e429-42ba-8de2-d833399d1b18" xlink:to="loc_us-gaap_SellingAndMarketingExpense_024d0fe4-0f5f-4c35-b95e-1cab775fd759" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_08ccedda-c5cc-44bc-8cb2-cb1c4832236d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentAbstract_0e234316-e429-42ba-8de2-d833399d1b18" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_08ccedda-c5cc-44bc-8cb2-cb1c4832236d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_e427109d-2f14-4567-a969-43386ac81ee6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentAbstract_0e234316-e429-42ba-8de2-d833399d1b18" xlink:to="loc_us-gaap_NetIncomeLoss_e427109d-2f14-4567-a969-43386ac81ee6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_aa47cad9-b9a6-4932-9397-694821f950cc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_834ec886-183a-42b8-b8d9-5e3fa18e146d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_aa47cad9-b9a6-4932-9397-694821f950cc" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_834ec886-183a-42b8-b8d9-5e3fa18e146d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_efb27cff-23dc-48aa-9e69-36acb10fa154" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_834ec886-183a-42b8-b8d9-5e3fa18e146d" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_efb27cff-23dc-48aa-9e69-36acb10fa154" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_1aad3963-a05d-438d-994a-0457da09cf58" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_efb27cff-23dc-48aa-9e69-36acb10fa154" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_1aad3963-a05d-438d-994a-0457da09cf58" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_447744c3-2fd4-4255-b501-d78ab68d1d81" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_1aad3963-a05d-438d-994a-0457da09cf58" xlink:to="loc_us-gaap_ComputerEquipmentMember_447744c3-2fd4-4255-b501-d78ab68d1d81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerSoftwareIntangibleAssetMember_32a74b03-16be-439a-8755-f7453481ada6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_1aad3963-a05d-438d-994a-0457da09cf58" xlink:to="loc_us-gaap_ComputerSoftwareIntangibleAssetMember_32a74b03-16be-439a-8755-f7453481ada6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_5e96e5a8-2f5e-49de-a838-2d7078875cfc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_1aad3963-a05d-438d-994a-0457da09cf58" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_5e96e5a8-2f5e-49de-a838-2d7078875cfc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ScannerAppliancesMember_5c97d9b2-35c3-4dd0-a861-34d8d5cad86e" xlink:href="qlys-20231231.xsd#qlys_ScannerAppliancesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_1aad3963-a05d-438d-994a-0457da09cf58" xlink:to="loc_qlys_ScannerAppliancesMember_5c97d9b2-35c3-4dd0-a861-34d8d5cad86e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_583cca31-524b-4a0d-85ba-5c4c0823afc6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_1aad3963-a05d-438d-994a-0457da09cf58" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_583cca31-524b-4a0d-85ba-5c4c0823afc6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_11444224-55fc-4cfc-826c-c72e74f38454" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_834ec886-183a-42b8-b8d9-5e3fa18e146d" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_11444224-55fc-4cfc-826c-c72e74f38454" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_c497b572-e7c0-49c2-93f4-98605e1ad925" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_11444224-55fc-4cfc-826c-c72e74f38454" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_c497b572-e7c0-49c2-93f4-98605e1ad925" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_36a213e4-3fdf-4a2a-949e-b4eb195dde6c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_11444224-55fc-4cfc-826c-c72e74f38454" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_36a213e4-3fdf-4a2a-949e-b4eb195dde6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_b8ab5f60-f2d5-4761-8634-7b44af6e28fa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_11444224-55fc-4cfc-826c-c72e74f38454" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_b8ab5f60-f2d5-4761-8634-7b44af6e28fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#PropertyandEquipmentNetNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_06a3a1ff-bb47-4fb5-a083-fcdc9178cda3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_28228401-9f41-43ce-ae20-5ee3bbf6304f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_06a3a1ff-bb47-4fb5-a083-fcdc9178cda3" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_28228401-9f41-43ce-ae20-5ee3bbf6304f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7c4e2d5a-1622-41ea-a231-c72339649f12" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_28228401-9f41-43ce-ae20-5ee3bbf6304f" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7c4e2d5a-1622-41ea-a231-c72339649f12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_693b25ba-006a-4547-b73c-b8da5d04385b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_7c4e2d5a-1622-41ea-a231-c72339649f12" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_693b25ba-006a-4547-b73c-b8da5d04385b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember_0905b681-0204-460c-ad05-f12435ab15f1" xlink:href="qlys-20231231.xsd#qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_693b25ba-006a-4547-b73c-b8da5d04385b" xlink:to="loc_qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember_0905b681-0204-460c-ad05-f12435ab15f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember_ad85c147-193c-40e2-b3d2-ff90728f83ac" xlink:href="qlys-20231231.xsd#qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_693b25ba-006a-4547-b73c-b8da5d04385b" xlink:to="loc_qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember_ad85c147-193c-40e2-b3d2-ff90728f83ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_f65eb938-4438-4ffb-9839-b82d9ab62bd9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_28228401-9f41-43ce-ae20-5ee3bbf6304f" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_f65eb938-4438-4ffb-9839-b82d9ab62bd9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_496bfb6a-2aab-49f2-92ab-c9f57ef21f3c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_f65eb938-4438-4ffb-9839-b82d9ab62bd9" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_496bfb6a-2aab-49f2-92ab-c9f57ef21f3c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization_e8077eaf-e064-48b6-9fe3-bfacd0763bd6" xlink:href="qlys-20231231.xsd#qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_f65eb938-4438-4ffb-9839-b82d9ab62bd9" xlink:to="loc_qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization_e8077eaf-e064-48b6-9fe3-bfacd0763bd6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/RevenuefromContractsWithCustomersNarrativeDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#RevenuefromContractsWithCustomersNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/RevenuefromContractsWithCustomersNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_f8be3ad0-2464-49c8-90f3-45942428a04a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_63d10e8c-939b-4f5e-a87c-03a94c60b331" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_f8be3ad0-2464-49c8-90f3-45942428a04a" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_63d10e8c-939b-4f5e-a87c-03a94c60b331" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_d8eb6ed2-2010-4b8c-9a06-f1223728f8ad" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_f8be3ad0-2464-49c8-90f3-45942428a04a" xlink:to="loc_us-gaap_ContractWithCustomerLiability_d8eb6ed2-2010-4b8c-9a06-f1223728f8ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortization_cff04e0e-f772-4e7f-a0e6-69e2aa63e81f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAmortization"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_f8be3ad0-2464-49c8-90f3-45942428a04a" xlink:to="loc_us-gaap_CapitalizedContractCostAmortization_cff04e0e-f772-4e7f-a0e6-69e2aa63e81f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostImpairmentLoss_9c2ae956-966f-424f-a1eb-fbe44f80f09c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostImpairmentLoss"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_f8be3ad0-2464-49c8-90f3-45942428a04a" xlink:to="loc_us-gaap_CapitalizedContractCostImpairmentLoss_9c2ae956-966f-424f-a1eb-fbe44f80f09c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_20fd1fc7-88e0-4f5f-9704-ad1d1cb29649" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_7321869f-57cd-4d46-aafe-55f07bd0521d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_20fd1fc7-88e0-4f5f-9704-ad1d1cb29649" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_7321869f-57cd-4d46-aafe-55f07bd0521d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_f39a4c37-d52f-4b69-9133-269a11adef41" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_7321869f-57cd-4d46-aafe-55f07bd0521d" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_f39a4c37-d52f-4b69-9133-269a11adef41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_9fd53c7a-2706-4758-a9be-8670cc197539" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_7321869f-57cd-4d46-aafe-55f07bd0521d" xlink:to="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_9fd53c7a-2706-4758-a9be-8670cc197539" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation_815d729f-6f16-4cdd-83e6-a4f7b6d46f99" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_9fd53c7a-2706-4758-a9be-8670cc197539" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligation_815d729f-6f16-4cdd-83e6-a4f7b6d46f99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_1b22e6af-9da8-4e0b-8a68-86f7c90ada74" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_9fd53c7a-2706-4758-a9be-8670cc197539" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_1b22e6af-9da8-4e0b-8a68-86f7c90ada74" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails_1" xlink:type="simple" xlink:href="qlys-20231231.xsd#RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails_1"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.qualys.com/role/RevenuefromContractsWithCustomersRevenuebySalesChannelDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#RevenuefromContractsWithCustomersRevenuebySalesChannelDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/RevenuefromContractsWithCustomersRevenuebySalesChannelDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_6c8a9378-8356-4aff-ac25-a96faba73ba3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_cc5c8ef9-be93-4207-877f-e0bf80e9d927" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_6c8a9378-8356-4aff-ac25-a96faba73ba3" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_cc5c8ef9-be93-4207-877f-e0bf80e9d927" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerSalesChannelAxis_43f6b74d-eceb-44f8-ba1b-72eb4eeacc2a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerSalesChannelAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_cc5c8ef9-be93-4207-877f-e0bf80e9d927" xlink:to="loc_us-gaap_ContractWithCustomerSalesChannelAxis_43f6b74d-eceb-44f8-ba1b-72eb4eeacc2a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerSalesChannelDomain_eb3284a1-55a7-4b0d-a2ae-6e4de5637c4f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerSalesChannelDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ContractWithCustomerSalesChannelAxis_43f6b74d-eceb-44f8-ba1b-72eb4eeacc2a" xlink:to="loc_us-gaap_ContractWithCustomerSalesChannelDomain_eb3284a1-55a7-4b0d-a2ae-6e4de5637c4f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesChannelDirectlyToConsumerMember_5cdb3ca6-6d49-4ac6-9752-6fdd1867b77d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesChannelDirectlyToConsumerMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ContractWithCustomerSalesChannelDomain_eb3284a1-55a7-4b0d-a2ae-6e4de5637c4f" xlink:to="loc_us-gaap_SalesChannelDirectlyToConsumerMember_5cdb3ca6-6d49-4ac6-9752-6fdd1867b77d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesChannelThroughIntermediaryMember_951ecfc8-23c3-43a6-a037-aee081536caa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesChannelThroughIntermediaryMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ContractWithCustomerSalesChannelDomain_eb3284a1-55a7-4b0d-a2ae-6e4de5637c4f" xlink:to="loc_us-gaap_SalesChannelThroughIntermediaryMember_951ecfc8-23c3-43a6-a037-aee081536caa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_4bb821e6-834d-46f9-a2a9-915ccc6535c5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_cc5c8ef9-be93-4207-877f-e0bf80e9d927" xlink:to="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_4bb821e6-834d-46f9-a2a9-915ccc6535c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_abdf90df-310f-40e2-8d96-5b5bbd32aba6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_4bb821e6-834d-46f9-a2a9-915ccc6535c5" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_abdf90df-310f-40e2-8d96-5b5bbd32aba6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/RevenuefromContractsWithCustomersCapitalizedCosttoObtainContractsCurrentandNoncurrentDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#RevenuefromContractsWithCustomersCapitalizedCosttoObtainContractsCurrentandNoncurrentDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/RevenuefromContractsWithCustomersCapitalizedCosttoObtainContractsCurrentandNoncurrentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_5e5615c1-9abd-4b5f-8477-6abea636b5da" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNetCurrent_628ffac0-e3b6-4ed6-942a-7500de690930" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostNetCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_5e5615c1-9abd-4b5f-8477-6abea636b5da" xlink:to="loc_us-gaap_CapitalizedContractCostNetCurrent_628ffac0-e3b6-4ed6-942a-7500de690930" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNetNoncurrent_5d334738-75e3-4c23-9385-e73ddff43d6a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostNetNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_5e5615c1-9abd-4b5f-8477-6abea636b5da" xlink:to="loc_us-gaap_CapitalizedContractCostNetNoncurrent_5d334738-75e3-4c23-9385-e73ddff43d6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/AcquisitionsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#AcquisitionsDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/AcquisitionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_b18152c1-f09d-4584-bc37-9143ff88db87" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_a83b08e8-873b-4a24-b72e-f16966b985f5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_b18152c1-f09d-4584-bc37-9143ff88db87" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_a83b08e8-873b-4a24-b72e-f16966b985f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetAcquisitionAxis_0c833149-1a8a-4ccf-bc1d-d3c47c4f6b83" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetAcquisitionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_a83b08e8-873b-4a24-b72e-f16966b985f5" xlink:to="loc_us-gaap_AssetAcquisitionAxis_0c833149-1a8a-4ccf-bc1d-d3c47c4f6b83" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetAcquisitionDomain_e112f5a5-cc13-424a-8508-900c666451ac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetAcquisitionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetAcquisitionAxis_0c833149-1a8a-4ccf-bc1d-d3c47c4f6b83" xlink:to="loc_us-gaap_AssetAcquisitionDomain_e112f5a5-cc13-424a-8508-900c666451ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_BlueHexagonIncMember_bc877c82-c8bb-4147-a3dd-696e3374bb8e" xlink:href="qlys-20231231.xsd#qlys_BlueHexagonIncMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetAcquisitionDomain_e112f5a5-cc13-424a-8508-900c666451ac" xlink:to="loc_qlys_BlueHexagonIncMember_bc877c82-c8bb-4147-a3dd-696e3374bb8e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1dd0a664-f642-459f-8b25-118c28297413" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_a83b08e8-873b-4a24-b72e-f16966b985f5" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1dd0a664-f642-459f-8b25-118c28297413" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_446d8c7e-8f96-4265-95af-58618a351a98" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1dd0a664-f642-459f-8b25-118c28297413" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_446d8c7e-8f96-4265-95af-58618a351a98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_da75c480-49dd-48bd-8c2b-e0ce99958c88" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_446d8c7e-8f96-4265-95af-58618a351a98" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_da75c480-49dd-48bd-8c2b-e0ce99958c88" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssembledWorkforceMember_ae29c995-8efd-4b83-9d44-68ca91f86c62" xlink:href="qlys-20231231.xsd#qlys_AssembledWorkforceMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_446d8c7e-8f96-4265-95af-58618a351a98" xlink:to="loc_qlys_AssembledWorkforceMember_ae29c995-8efd-4b83-9d44-68ca91f86c62" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_a83b08e8-873b-4a24-b72e-f16966b985f5" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetAcquisitionConsiderationTransferred_972912bd-b02d-4b75-b5e6-70e8b143a16b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetAcquisitionConsiderationTransferred"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_us-gaap_AssetAcquisitionConsiderationTransferred_972912bd-b02d-4b75-b5e6-70e8b143a16b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireProductiveAssets_fb52a274-cced-43c5-9b6c-3b804e902b38" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireProductiveAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_us-gaap_PaymentsToAcquireProductiveAssets_fb52a274-cced-43c5-9b6c-3b804e902b38" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetAcquisitionConsiderationTransferredPayable_d3d2ac09-b5b9-4ce6-bd55-dd8ecd8582ed" xlink:href="qlys-20231231.xsd#qlys_AssetAcquisitionConsiderationTransferredPayable"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_qlys_AssetAcquisitionConsiderationTransferredPayable_d3d2ac09-b5b9-4ce6-bd55-dd8ecd8582ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetAcquisitionConsiderationPayableTerm_f43b3f6c-5cc1-4549-b2c5-71ed456bf251" xlink:href="qlys-20231231.xsd#qlys_AssetAcquisitionConsiderationPayableTerm"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_qlys_AssetAcquisitionConsiderationPayableTerm_f43b3f6c-5cc1-4549-b2c5-71ed456bf251" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue_19b73cb0-c345-4923-ad74-7ea5a23b6949" xlink:href="qlys-20231231.xsd#qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue_19b73cb0-c345-4923-ad74-7ea5a23b6949" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetAcquisitionAcquisitionRelatedCosts_420d36ed-4d76-4c4f-b2f0-707cf67672f0" xlink:href="qlys-20231231.xsd#qlys_AssetAcquisitionAcquisitionRelatedCosts"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_qlys_AssetAcquisitionAcquisitionRelatedCosts_420d36ed-4d76-4c4f-b2f0-707cf67672f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles_bd72bacf-ca3a-4ee8-a0a0-c744cdbbebdc" xlink:href="qlys-20231231.xsd#qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles_bd72bacf-ca3a-4ee8-a0a0-c744cdbbebdc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_255dcbef-7213-4df0-8a3e-854fb2b871a7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_255dcbef-7213-4df0-8a3e-854fb2b871a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_32a4c5d3-4f91-439e-aba6-b712bfaea627" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_32a4c5d3-4f91-439e-aba6-b712bfaea627" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireIntangibleAssets_536ae646-ea7a-4820-bc69-c3c8146a096c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_f572eba7-9222-439b-af53-1d811fdc8d3e" xlink:to="loc_us-gaap_PaymentsToAcquireIntangibleAssets_536ae646-ea7a-4820-bc69-c3c8146a096c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_9a2e4d80-8a7d-4e1c-bc89-64d8ef1cfd62" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_3cbf159a-db05-480b-8efe-028afe4d8133" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_9a2e4d80-8a7d-4e1c-bc89-64d8ef1cfd62" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_3cbf159a-db05-480b-8efe-028afe4d8133" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_532dd7a4-25eb-4026-af14-4b0cec5d7fd9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_3cbf159a-db05-480b-8efe-028afe4d8133" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_532dd7a4-25eb-4026-af14-4b0cec5d7fd9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3f2631d5-0679-423a-a73f-147ffe709ba3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_532dd7a4-25eb-4026-af14-4b0cec5d7fd9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3f2631d5-0679-423a-a73f-147ffe709ba3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_b4df57fb-e998-4910-a678-ff096f53a3e0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3f2631d5-0679-423a-a73f-147ffe709ba3" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_b4df57fb-e998-4910-a678-ff096f53a3e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PatentsMember_6b5e0376-f371-4785-add3-e31f52adb3ac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3f2631d5-0679-423a-a73f-147ffe709ba3" xlink:to="loc_us-gaap_PatentsMember_6b5e0376-f371-4785-add3-e31f52adb3ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_AssembledWorkforceMember_88496552-0d9b-4748-9051-3c6ee59eab5f" xlink:href="qlys-20231231.xsd#qlys_AssembledWorkforceMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3f2631d5-0679-423a-a73f-147ffe709ba3" xlink:to="loc_qlys_AssembledWorkforceMember_88496552-0d9b-4748-9051-3c6ee59eab5f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_3cbf159a-db05-480b-8efe-028afe4d8133" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_d94ac02f-ff4b-42a9-bb4a-147ed514c891" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_d94ac02f-ff4b-42a9-bb4a-147ed514c891" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_e37b14bd-4ae4-42ca-b6ae-89057c090b9e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_e37b14bd-4ae4-42ca-b6ae-89057c090b9e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_7a814cb5-a7f9-4d64-b144-f465d552bbc5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_7a814cb5-a7f9-4d64-b144-f465d552bbc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_016c24e9-efb6-4748-a68f-9274d7475511" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_016c24e9-efb6-4748-a68f-9274d7475511" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_7c9827f7-b5f1-4955-b2c4-b1cdbd413b95" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_7c9827f7-b5f1-4955-b2c4-b1cdbd413b95" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_0ae397c4-4f4d-4166-a339-aa405ba6d40a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_0ae397c4-4f4d-4166-a339-aa405ba6d40a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_b3b38bfd-c2df-4eb3-b819-99d1bad857cb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_19d29e63-187a-431f-805f-0280fa91fa6d" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_b3b38bfd-c2df-4eb3-b819-99d1bad857cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IntangibleAssetsNetDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#IntangibleAssetsNetDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/IntangibleAssetsNetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_93981f00-1efa-49e2-b6ea-790d5571c6c1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_c4bc5482-10e6-40f2-8d58-cf17496f2e61" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_93981f00-1efa-49e2-b6ea-790d5571c6c1" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_c4bc5482-10e6-40f2-8d58-cf17496f2e61" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_880f29b6-49aa-4689-b0b4-c1f89b4e27dc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_ad1786a7-1d2d-448a-9620-871d4d58ca86" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_880f29b6-49aa-4689-b0b4-c1f89b4e27dc" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_ad1786a7-1d2d-448a-9620-871d4d58ca86" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_f4dd89d1-8059-424f-a69c-1198229ece61" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_880f29b6-49aa-4689-b0b4-c1f89b4e27dc" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_f4dd89d1-8059-424f-a69c-1198229ece61" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_e2064ff0-e20e-424c-9031-7620ce891a8a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_880f29b6-49aa-4689-b0b4-c1f89b4e27dc" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_e2064ff0-e20e-424c-9031-7620ce891a8a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_b9e84399-0f96-4753-8e8d-b8aa2f032e36" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_880f29b6-49aa-4689-b0b4-c1f89b4e27dc" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_b9e84399-0f96-4753-8e8d-b8aa2f032e36" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_1890fc44-f1b1-46c6-992f-54fbffba0d59" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_880f29b6-49aa-4689-b0b4-c1f89b4e27dc" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_1890fc44-f1b1-46c6-992f-54fbffba0d59" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/LeasesNarrativeDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#LeasesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/LeasesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_ba3456b0-7080-49c6-9cd0-d175051a101d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseExpense_9f8c6b18-3b53-4606-9fbe-ab3899099a8f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_ba3456b0-7080-49c6-9cd0-d175051a101d" xlink:to="loc_us-gaap_OperatingLeaseExpense_9f8c6b18-3b53-4606-9fbe-ab3899099a8f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/LeasesSupplementalCashFlowInformationDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#LeasesSupplementalCashFlowInformationDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/LeasesSupplementalCashFlowInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_77b865dd-d1d9-4c7e-ae4c-8b9818dd8e98" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments_4d9b8600-b7e3-4d36-a8d9-333bbe507806" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_77b865dd-d1d9-4c7e-ae4c-8b9818dd8e98" xlink:to="loc_us-gaap_OperatingLeasePayments_4d9b8600-b7e3-4d36-a8d9-333bbe507806" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_ca8c8168-28e1-4bdf-991d-7979f2d6ad91" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_77b865dd-d1d9-4c7e-ae4c-8b9818dd8e98" xlink:to="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_ca8c8168-28e1-4bdf-991d-7979f2d6ad91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/LeasesWeightedAverageRemainingLeaseTermandWeightedAverageDiscountRateDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#LeasesWeightedAverageRemainingLeaseTermandWeightedAverageDiscountRateDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/LeasesWeightedAverageRemainingLeaseTermandWeightedAverageDiscountRateDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_ed2a9a90-6354-4278-a9bc-836c3744fdc3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_ede2553d-c9b4-40b0-9dcd-64267a545c1a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_ed2a9a90-6354-4278-a9bc-836c3744fdc3" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_ede2553d-c9b4-40b0-9dcd-64267a545c1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_b1e53c2f-37d4-4f4f-83f5-34284c6d53a1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_ed2a9a90-6354-4278-a9bc-836c3744fdc3" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_b1e53c2f-37d4-4f4f-83f5-34284c6d53a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#LeasesMinimumAnnualLeasePaymentsDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_9de18494-744c-4b7c-9b53-4de78fca9b54" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_e9ddfd78-bf21-4bf6-8caa-245da2a99e5f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_9de18494-744c-4b7c-9b53-4de78fca9b54" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_e9ddfd78-bf21-4bf6-8caa-245da2a99e5f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_463d4ff4-254a-458e-81af-fa9fc16a0f3d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_9de18494-744c-4b7c-9b53-4de78fca9b54" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_463d4ff4-254a-458e-81af-fa9fc16a0f3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_847e4738-aca4-4b73-a936-017c30c18613" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_9de18494-744c-4b7c-9b53-4de78fca9b54" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_847e4738-aca4-4b73-a936-017c30c18613" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_3c14ffd1-6eac-4fa7-8ff1-698bfac2f414" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_9de18494-744c-4b7c-9b53-4de78fca9b54" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_3c14ffd1-6eac-4fa7-8ff1-698bfac2f414" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_7037fcd8-5381-4aa3-8baa-1bd7210fcb2a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_9de18494-744c-4b7c-9b53-4de78fca9b54" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_7037fcd8-5381-4aa3-8baa-1bd7210fcb2a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_060560f7-ee5a-446e-b4d5-90103ffb837c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_9de18494-744c-4b7c-9b53-4de78fca9b54" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_060560f7-ee5a-446e-b4d5-90103ffb837c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_cce53363-3c37-4ce3-a900-09620ad06532" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_9de18494-744c-4b7c-9b53-4de78fca9b54" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_cce53363-3c37-4ce3-a900-09620ad06532" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_53598cd5-ade2-436c-a08e-5dd637e68afd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_9de18494-744c-4b7c-9b53-4de78fca9b54" xlink:to="loc_us-gaap_OperatingLeaseLiability_53598cd5-ade2-436c-a08e-5dd637e68afd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_d4f393a3-5731-410b-94b2-7d747e3392e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_9de18494-744c-4b7c-9b53-4de78fca9b54" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_d4f393a3-5731-410b-94b2-7d747e3392e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_586a563e-e973-4f42-8814-d3917c22a202" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_9de18494-744c-4b7c-9b53-4de78fca9b54" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_586a563e-e973-4f42-8814-d3917c22a202" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1" xlink:type="simple" xlink:href="qlys-20231231.xsd#LeasesMinimumAnnualLeasePaymentsDetails_1"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.qualys.com/role/CommitmentandContingenciesRemainingPurchaseCommitmentsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#CommitmentandContingenciesRemainingPurchaseCommitmentsDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/CommitmentandContingenciesRemainingPurchaseCommitmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_161fe7cf-8606-40a1-838e-57623a0d4f79" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInNextTwelveMonths_fae495b5-9ca5-4257-b134-0208af0faa98" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInNextTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_161fe7cf-8606-40a1-838e-57623a0d4f79" xlink:to="loc_us-gaap_PurchaseObligationDueInNextTwelveMonths_fae495b5-9ca5-4257-b134-0208af0faa98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInSecondYear_522f847c-87c7-4962-9677-4dbd12dd0988" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInSecondYear"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_161fe7cf-8606-40a1-838e-57623a0d4f79" xlink:to="loc_us-gaap_PurchaseObligationDueInSecondYear_522f847c-87c7-4962-9677-4dbd12dd0988" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInThirdYear_f353202a-3064-4e03-b7b2-3bfc09f38024" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInThirdYear"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_161fe7cf-8606-40a1-838e-57623a0d4f79" xlink:to="loc_us-gaap_PurchaseObligationDueInThirdYear_f353202a-3064-4e03-b7b2-3bfc09f38024" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInFourthYear_aad598f7-c6d5-4bb6-a6b7-262c2686ff06" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInFourthYear"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_161fe7cf-8606-40a1-838e-57623a0d4f79" xlink:to="loc_us-gaap_PurchaseObligationDueInFourthYear_aad598f7-c6d5-4bb6-a6b7-262c2686ff06" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligation_2b2d8fd2-0217-4199-8463-ed9fe117faa5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligation"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_161fe7cf-8606-40a1-838e-57623a0d4f79" xlink:to="loc_us-gaap_PurchaseObligation_2b2d8fd2-0217-4199-8463-ed9fe117faa5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPreferredStockDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationPreferredStockDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPreferredStockDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_effc9db3-3ed6-4d4e-94c5-2d676c351e5a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_cf5cfc1c-d9ec-4e7d-8d78-0f61d0c4c6f6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_effc9db3-3ed6-4d4e-94c5-2d676c351e5a" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_cf5cfc1c-d9ec-4e7d-8d78-0f61d0c4c6f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_d2d1a6ec-5427-4c7b-830e-9000d775a13c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_effc9db3-3ed6-4d4e-94c5-2d676c351e5a" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_d2d1a6ec-5427-4c7b-830e-9000d775a13c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued_1272fc0c-dea5-4dc3-bcf6-9e1adeb41431" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_effc9db3-3ed6-4d4e-94c5-2d676c351e5a" xlink:to="loc_us-gaap_PreferredStockSharesIssued_1272fc0c-dea5-4dc3-bcf6-9e1adeb41431" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_786892ac-34e5-4871-aaa4-0b66983c9652" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_effc9db3-3ed6-4d4e-94c5-2d676c351e5a" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_786892ac-34e5-4871-aaa4-0b66983c9652" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_c641e97c-5f16-43b6-9d6f-08cde9c905b4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d6533f8c-e0c1-499e-a943-47933cea5c85" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_c641e97c-5f16-43b6-9d6f-08cde9c905b4" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d6533f8c-e0c1-499e-a943-47933cea5c85" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_e0b36a61-9096-4dac-ab37-fb0b55a53226" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d6533f8c-e0c1-499e-a943-47933cea5c85" xlink:to="loc_us-gaap_PlanNameAxis_e0b36a61-9096-4dac-ab37-fb0b55a53226" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_94acae0d-358d-4c9d-880b-16f6a9024957" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_e0b36a61-9096-4dac-ab37-fb0b55a53226" xlink:to="loc_us-gaap_PlanNameDomain_94acae0d-358d-4c9d-880b-16f6a9024957" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_The2012EquityIncentivePlanMember_980e2510-8f3a-437a-9dcf-67099cd26382" xlink:href="qlys-20231231.xsd#qlys_The2012EquityIncentivePlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_94acae0d-358d-4c9d-880b-16f6a9024957" xlink:to="loc_qlys_The2012EquityIncentivePlanMember_980e2510-8f3a-437a-9dcf-67099cd26382" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_The2021EmployeeStockPurchasePlanMember_dad23d5d-b59c-49bb-9ddb-edb3d1ce0a3d" xlink:href="qlys-20231231.xsd#qlys_The2021EmployeeStockPurchasePlanMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_94acae0d-358d-4c9d-880b-16f6a9024957" xlink:to="loc_qlys_The2021EmployeeStockPurchasePlanMember_dad23d5d-b59c-49bb-9ddb-edb3d1ce0a3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_b9a01abb-ea49-414a-9026-bca3278cbf4b" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d6533f8c-e0c1-499e-a943-47933cea5c85" xlink:to="loc_srt_RangeAxis_b9a01abb-ea49-414a-9026-bca3278cbf4b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_8653d206-cd64-4ffa-9b8e-1ac5c1e75958" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_b9a01abb-ea49-414a-9026-bca3278cbf4b" xlink:to="loc_srt_RangeMember_8653d206-cd64-4ffa-9b8e-1ac5c1e75958" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_081a3e13-b5bd-468d-8fce-72972ca5485b" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_8653d206-cd64-4ffa-9b8e-1ac5c1e75958" xlink:to="loc_srt_MinimumMember_081a3e13-b5bd-468d-8fce-72972ca5485b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_b2eb08e2-b648-4485-90f4-ee3fd5b0c575" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_8653d206-cd64-4ffa-9b8e-1ac5c1e75958" xlink:to="loc_srt_MaximumMember_b2eb08e2-b648-4485-90f4-ee3fd5b0c575" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d6533f8c-e0c1-499e-a943-47933cea5c85" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares_b3c1566c-4add-4310-9f0e-015e724ba946" xlink:href="qlys-20231231.xsd#qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares_b3c1566c-4add-4310-9f0e-015e724ba946" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding_da844cfd-1335-4825-83ae-7ccd3dfdf6a3" xlink:href="qlys-20231231.xsd#qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding_da844cfd-1335-4825-83ae-7ccd3dfdf6a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease_d9422759-7b7b-4d63-b1c0-2da1ac8906a6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease_d9422759-7b7b-4d63-b1c0-2da1ac8906a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_206ac285-e3f0-448e-913c-3d68721b283e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_206ac285-e3f0-448e-913c-3d68721b283e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_606fa09a-1fa2-4605-af40-5fda180b768a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_606fa09a-1fa2-4605-af40-5fda180b768a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_eeb73d2e-2855-4e9d-9ed6-d62bfc1d4357" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_eeb73d2e-2855-4e9d-9ed6-d62bfc1d4357" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_e9f692a2-ea8b-415f-b5f3-8e855f82fd50" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_e9f692a2-ea8b-415f-b5f3-8e855f82fd50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_c8197b1c-71f4-4de9-ae70-268c201cb3ba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_c8197b1c-71f4-4de9-ae70-268c201cb3ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_c6b153dd-9be4-473b-accc-e37fb22e3461" xlink:href="qlys-20231231.xsd#qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_c6b153dd-9be4-473b-accc-e37fb22e3461" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable_8a4e4040-2add-47f4-afb6-f953126082f2" xlink:href="qlys-20231231.xsd#qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable_8a4e4040-2add-47f4-afb6-f953126082f2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_31be99da-349b-442a-a22e-6cd516ec09d9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_31be99da-349b-442a-a22e-6cd516ec09d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_98d18cb5-dffa-439f-a979-acca15946806" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_c8cfefef-4c5a-4cc2-aa6e-bd2e52f022d9" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_98d18cb5-dffa-439f-a979-acca15946806" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_36dbcd35-da0e-442e-a82c-0f140ae2fa13" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_76a8af61-d90b-4c87-90bb-30386bdf08dd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_36dbcd35-da0e-442e-a82c-0f140ae2fa13" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_76a8af61-d90b-4c87-90bb-30386bdf08dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_3a5a10c1-fc02-4588-bcaf-bfe286056009" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_76a8af61-d90b-4c87-90bb-30386bdf08dd" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_3a5a10c1-fc02-4588-bcaf-bfe286056009" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_7df8c842-d7e1-4083-b91d-15101adcb04c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_3a5a10c1-fc02-4588-bcaf-bfe286056009" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_7df8c842-d7e1-4083-b91d-15101adcb04c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_963cc754-245d-437e-a67f-fd5a23316ae5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_7df8c842-d7e1-4083-b91d-15101adcb04c" xlink:to="loc_us-gaap_CostOfSalesMember_963cc754-245d-437e-a67f-fd5a23316ae5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_d60e636a-5acc-41d0-80cb-942e36be4241" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_7df8c842-d7e1-4083-b91d-15101adcb04c" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_d60e636a-5acc-41d0-80cb-942e36be4241" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpenseMember_9ec5aa06-6942-49b5-a588-9b960aec0cc3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpenseMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_7df8c842-d7e1-4083-b91d-15101adcb04c" xlink:to="loc_us-gaap_SellingAndMarketingExpenseMember_9ec5aa06-6942-49b5-a588-9b960aec0cc3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember_2d9bd5f5-9e00-4d28-aa89-e1207a14618a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpenseMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_7df8c842-d7e1-4083-b91d-15101adcb04c" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpenseMember_2d9bd5f5-9e00-4d28-aa89-e1207a14618a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_29610a45-c4b0-4b6f-9232-7958768a884e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_76a8af61-d90b-4c87-90bb-30386bdf08dd" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_29610a45-c4b0-4b6f-9232-7958768a884e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_bb60f425-5d29-4aa1-85c8-ee2856d185e2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_29610a45-c4b0-4b6f-9232-7958768a884e" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_bb60f425-5d29-4aa1-85c8-ee2856d185e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_52671e84-a0c7-4ba8-8157-3da4cd2a9da4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_398de9c3-e0f1-448e-9474-641117fcd1d8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_52671e84-a0c7-4ba8-8157-3da4cd2a9da4" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_398de9c3-e0f1-448e-9474-641117fcd1d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_709d2d42-29f8-4f88-b368-b955a710d9d4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_398de9c3-e0f1-448e-9474-641117fcd1d8" xlink:to="loc_us-gaap_AwardTypeAxis_709d2d42-29f8-4f88-b368-b955a710d9d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_435f4bc6-5a88-4c7f-a59a-a8c2bac3e8bd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_709d2d42-29f8-4f88-b368-b955a710d9d4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_435f4bc6-5a88-4c7f-a59a-a8c2bac3e8bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_11d6502f-8375-487d-8e48-e8f5d9b7bdc4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_435f4bc6-5a88-4c7f-a59a-a8c2bac3e8bd" xlink:to="loc_us-gaap_EmployeeStockOptionMember_11d6502f-8375-487d-8e48-e8f5d9b7bdc4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_c9b3e89d-434c-4a95-ace1-c2f8603a84fe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_435f4bc6-5a88-4c7f-a59a-a8c2bac3e8bd" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_c9b3e89d-434c-4a95-ace1-c2f8603a84fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PerformanceBasedRestrictedStockUnitsMember_b5093ae7-b850-468e-b66f-800ea07b1ed7" xlink:href="qlys-20231231.xsd#qlys_PerformanceBasedRestrictedStockUnitsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_435f4bc6-5a88-4c7f-a59a-a8c2bac3e8bd" xlink:to="loc_qlys_PerformanceBasedRestrictedStockUnitsMember_b5093ae7-b850-468e-b66f-800ea07b1ed7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ESPPSharesMember_8ebe43c7-457b-409b-ad99-91e0852f7774" xlink:href="qlys-20231231.xsd#qlys_ESPPSharesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_435f4bc6-5a88-4c7f-a59a-a8c2bac3e8bd" xlink:to="loc_qlys_ESPPSharesMember_8ebe43c7-457b-409b-ad99-91e0852f7774" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1fa47e13-5081-4308-9afa-fd106ea6e825" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_398de9c3-e0f1-448e-9474-641117fcd1d8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1fa47e13-5081-4308-9afa-fd106ea6e825" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_0378af47-ef90-4732-afe4-e36dcf652c40" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1fa47e13-5081-4308-9afa-fd106ea6e825" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_0378af47-ef90-4732-afe4-e36dcf652c40" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_c64d2619-6ddf-45dd-ba33-8a9b9f809832" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1fa47e13-5081-4308-9afa-fd106ea6e825" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_c64d2619-6ddf-45dd-ba33-8a9b9f809832" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_ef3dc67a-ceb1-43ab-8a36-39040793972a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1fa47e13-5081-4308-9afa-fd106ea6e825" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_ef3dc67a-ceb1-43ab-8a36-39040793972a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_567d8904-9c6b-4a22-9855-916ef4174825" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1fa47e13-5081-4308-9afa-fd106ea6e825" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_567d8904-9c6b-4a22-9855-916ef4174825" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod_a0b36fb6-9474-444f-8bc2-77509c9ee0b4" xlink:href="qlys-20231231.xsd#qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1fa47e13-5081-4308-9afa-fd106ea6e825" xlink:to="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod_a0b36fb6-9474-444f-8bc2-77509c9ee0b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_1db72797-a77e-46ac-b277-d008f7131621" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1edb2178-eb35-4b3f-ae80-2e63401617b7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_1db72797-a77e-46ac-b277-d008f7131621" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1edb2178-eb35-4b3f-ae80-2e63401617b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_c137d6c5-051a-4038-aab9-fb0adb2988f7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1edb2178-eb35-4b3f-ae80-2e63401617b7" xlink:to="loc_us-gaap_AwardTypeAxis_c137d6c5-051a-4038-aab9-fb0adb2988f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_393b0c88-1f22-4c71-99f6-7f6fcbc81883" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_c137d6c5-051a-4038-aab9-fb0adb2988f7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_393b0c88-1f22-4c71-99f6-7f6fcbc81883" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_819766a7-446a-4ad8-9d7a-2f63454274b1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_393b0c88-1f22-4c71-99f6-7f6fcbc81883" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_819766a7-446a-4ad8-9d7a-2f63454274b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_f6199da7-490b-4ac8-8d11-d44168b75a7c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_393b0c88-1f22-4c71-99f6-7f6fcbc81883" xlink:to="loc_us-gaap_EmployeeStockOptionMember_f6199da7-490b-4ac8-8d11-d44168b75a7c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PerformanceBasedRestrictedStockUnitsMember_4908b649-32bb-4aa9-91f2-00845efce804" xlink:href="qlys-20231231.xsd#qlys_PerformanceBasedRestrictedStockUnitsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_393b0c88-1f22-4c71-99f6-7f6fcbc81883" xlink:to="loc_qlys_PerformanceBasedRestrictedStockUnitsMember_4908b649-32bb-4aa9-91f2-00845efce804" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis_8c9de280-1433-404f-9ca5-963f2bf1c1aa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1edb2178-eb35-4b3f-ae80-2e63401617b7" xlink:to="loc_us-gaap_VestingAxis_8c9de280-1433-404f-9ca5-963f2bf1c1aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_92290e13-0599-4d2e-a9d6-90f10299b07d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingAxis_8c9de280-1433-404f-9ca5-963f2bf1c1aa" xlink:to="loc_us-gaap_VestingDomain_92290e13-0599-4d2e-a9d6-90f10299b07d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_TimeBasedSharedBasedCompensationMember_624ecaba-4dc7-4934-a0a8-1e04f2e3bcd3" xlink:href="qlys-20231231.xsd#qlys_TimeBasedSharedBasedCompensationMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_92290e13-0599-4d2e-a9d6-90f10299b07d" xlink:to="loc_qlys_TimeBasedSharedBasedCompensationMember_624ecaba-4dc7-4934-a0a8-1e04f2e3bcd3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PerformanceSharesTrancheThreeMember_ace73ad2-2d3d-42f7-a79b-c5054614c842" xlink:href="qlys-20231231.xsd#qlys_PerformanceSharesTrancheThreeMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_92290e13-0599-4d2e-a9d6-90f10299b07d" xlink:to="loc_qlys_PerformanceSharesTrancheThreeMember_ace73ad2-2d3d-42f7-a79b-c5054614c842" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_79d1813b-497b-4656-81e7-278ecf1faf49" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1edb2178-eb35-4b3f-ae80-2e63401617b7" xlink:to="loc_srt_RangeAxis_79d1813b-497b-4656-81e7-278ecf1faf49" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_768671fb-d423-45ac-bfd0-0e2c4be3f5c1" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_79d1813b-497b-4656-81e7-278ecf1faf49" xlink:to="loc_srt_RangeMember_768671fb-d423-45ac-bfd0-0e2c4be3f5c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_30ed74f7-fdf3-4e08-aa5a-15f8c6783c28" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_768671fb-d423-45ac-bfd0-0e2c4be3f5c1" xlink:to="loc_srt_MinimumMember_30ed74f7-fdf3-4e08-aa5a-15f8c6783c28" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_1a1371d7-07b7-4ee6-b9fa-490128993e6d" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_768671fb-d423-45ac-bfd0-0e2c4be3f5c1" xlink:to="loc_srt_MaximumMember_1a1371d7-07b7-4ee6-b9fa-490128993e6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis_f255342a-2c7b-4f0a-ac34-270d3380f9eb" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1edb2178-eb35-4b3f-ae80-2e63401617b7" xlink:to="loc_srt_TitleOfIndividualAxis_f255342a-2c7b-4f0a-ac34-270d3380f9eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_905a87af-8e9f-41d1-be3a-1914109a2cea" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualAxis_f255342a-2c7b-4f0a-ac34-270d3380f9eb" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_905a87af-8e9f-41d1-be3a-1914109a2cea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PresidentAndChiefExecutiveOfficerMember_4dece2a6-d970-4577-813a-c279994b8973" xlink:href="qlys-20231231.xsd#qlys_PresidentAndChiefExecutiveOfficerMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_905a87af-8e9f-41d1-be3a-1914109a2cea" xlink:to="loc_qlys_PresidentAndChiefExecutiveOfficerMember_4dece2a6-d970-4577-813a-c279994b8973" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ExecutiveOfficerMember_7cc603f8-6efe-48bd-a83a-bdbc06336fd1" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ExecutiveOfficerMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_905a87af-8e9f-41d1-be3a-1914109a2cea" xlink:to="loc_srt_ExecutiveOfficerMember_7cc603f8-6efe-48bd-a83a-bdbc06336fd1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1edb2178-eb35-4b3f-ae80-2e63401617b7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_34860f23-99fb-4a44-b541-e8b46b7c983a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_34860f23-99fb-4a44-b541-e8b46b7c983a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods_c19bb2b2-0a97-4816-9f94-ffa5fb1d4ffd" xlink:href="qlys-20231231.xsd#qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods_c19bb2b2-0a97-4816-9f94-ffa5fb1d4ffd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_2095553e-46ec-4d1f-95ce-c1f5f42f24d3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_2095553e-46ec-4d1f-95ce-c1f5f42f24d3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_e08b32f9-507b-44f3-97d2-40b954e58363" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_e08b32f9-507b-44f3-97d2-40b954e58363" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage_a8361200-58d0-4e72-a008-8909835160ac" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage_a8361200-58d0-4e72-a008-8909835160ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares_a614c080-8e59-48a0-b994-f1bbbd6b715b" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares_a614c080-8e59-48a0-b994-f1bbbd6b715b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationTerminationPeriodTrigger_e8b5f83a-f0a0-44cd-a876-f476e78a869a" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationTerminationPeriodTrigger"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_qlys_SharebasedCompensationTerminationPeriodTrigger_e8b5f83a-f0a0-44cd-a876-f476e78a869a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger_d9ce33c8-a212-44b4-ac6b-e82f052d8d80" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger_d9ce33c8-a212-44b4-ac6b-e82f052d8d80" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget_46f29900-3a65-4254-97f1-b79db5d999a3" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget_46f29900-3a65-4254-97f1-b79db5d999a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber_0b52e5cf-db2e-4a7c-b971-eebbc5fcf210" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber_0b52e5cf-db2e-4a7c-b971-eebbc5fcf210" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_fbcb6309-17c0-4a6e-a5d5-1f8e7d300a36" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_fbcb6309-17c0-4a6e-a5d5-1f8e7d300a36" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_f0e239ee-5f88-4c79-8830-b0dfc1a1956a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_f0e239ee-5f88-4c79-8830-b0dfc1a1956a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_a0370942-20bc-4180-a63d-93925f82e6ac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_a0370942-20bc-4180-a63d-93925f82e6ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_4e21c74b-bcc5-4e69-be71-4ec800646656" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f6638f3c-d3c9-48f6-9b73-142f4c5a6e18" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_4e21c74b-bcc5-4e69-be71-4ec800646656" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_6b1b3124-02be-4548-b949-d0a8587c57fa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a317def1-976e-4b56-8f01-544e6bd50e0a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_6b1b3124-02be-4548-b949-d0a8587c57fa" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a317def1-976e-4b56-8f01-544e6bd50e0a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_9456a0a6-ebab-4ba4-a177-42a272881293" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a317def1-976e-4b56-8f01-544e6bd50e0a" xlink:to="loc_srt_RangeAxis_9456a0a6-ebab-4ba4-a177-42a272881293" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_7dfa2882-a039-4d70-ba64-82afbe2c0dc8" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_9456a0a6-ebab-4ba4-a177-42a272881293" xlink:to="loc_srt_RangeMember_7dfa2882-a039-4d70-ba64-82afbe2c0dc8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_548e09df-73e0-42fe-8b76-c37f5cb34d61" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_7dfa2882-a039-4d70-ba64-82afbe2c0dc8" xlink:to="loc_srt_MinimumMember_548e09df-73e0-42fe-8b76-c37f5cb34d61" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_5ff825b8-1ee9-494c-a322-1b06cd7ddb65" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_7dfa2882-a039-4d70-ba64-82afbe2c0dc8" xlink:to="loc_srt_MaximumMember_5ff825b8-1ee9-494c-a322-1b06cd7ddb65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee1bf5a5-3b63-4b50-bc37-7c117ca77613" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a317def1-976e-4b56-8f01-544e6bd50e0a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee1bf5a5-3b63-4b50-bc37-7c117ca77613" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c983efb1-afdd-4801-a773-cd0309809210" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee1bf5a5-3b63-4b50-bc37-7c117ca77613" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c983efb1-afdd-4801-a773-cd0309809210" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_71e300fd-2087-4109-82a4-4c99d67ed340" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee1bf5a5-3b63-4b50-bc37-7c117ca77613" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_71e300fd-2087-4109-82a4-4c99d67ed340" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_2bf188ee-4b8a-455e-b770-e964afd9dc9b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee1bf5a5-3b63-4b50-bc37-7c117ca77613" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_2bf188ee-4b8a-455e-b770-e964afd9dc9b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_44ac62d7-bfec-40eb-82c4-8af3ac30a878" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee1bf5a5-3b63-4b50-bc37-7c117ca77613" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_44ac62d7-bfec-40eb-82c4-8af3ac30a878" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_34840c02-19d1-4e3b-9e6e-6f33cf822fe0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee1bf5a5-3b63-4b50-bc37-7c117ca77613" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_34840c02-19d1-4e3b-9e6e-6f33cf822fe0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_7aa259f7-fdaf-4e12-a1f8-9acaadb3f600" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_c839ce21-15a8-4247-868b-8b5e7a8f6fa3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_7aa259f7-fdaf-4e12-a1f8-9acaadb3f600" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_c839ce21-15a8-4247-868b-8b5e7a8f6fa3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_00b25a89-d370-42ab-8179-aa87bbb98ca6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_c839ce21-15a8-4247-868b-8b5e7a8f6fa3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_00b25a89-d370-42ab-8179-aa87bbb98ca6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_f7f6eb8f-57f6-4eef-b1a5-1ffc91bc279c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_c839ce21-15a8-4247-868b-8b5e7a8f6fa3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_f7f6eb8f-57f6-4eef-b1a5-1ffc91bc279c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_f30d2604-6766-40f5-a95b-baa5394dab27" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_c839ce21-15a8-4247-868b-8b5e7a8f6fa3" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_f30d2604-6766-40f5-a95b-baa5394dab27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_75689c4d-7869-4730-bf57-5858db1e999c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_c839ce21-15a8-4247-868b-8b5e7a8f6fa3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_75689c4d-7869-4730-bf57-5858db1e999c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_4d279c1a-763e-4b41-bd82-55193300e084" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_c839ce21-15a8-4247-868b-8b5e7a8f6fa3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_4d279c1a-763e-4b41-bd82-55193300e084" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_a2307413-51c8-4816-ae9c-786e0ac999b5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_7aa259f7-fdaf-4e12-a1f8-9acaadb3f600" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_a2307413-51c8-4816-ae9c-786e0ac999b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_c4baca55-d96b-4663-8906-1a30dcc020e5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_a2307413-51c8-4816-ae9c-786e0ac999b5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_c4baca55-d96b-4663-8906-1a30dcc020e5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_9ec9aaba-9a08-400a-b446-fde9f5170f50" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_a2307413-51c8-4816-ae9c-786e0ac999b5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_9ec9aaba-9a08-400a-b446-fde9f5170f50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_1763056c-36c4-405d-9b0e-b076e81a6fe6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_a2307413-51c8-4816-ae9c-786e0ac999b5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_1763056c-36c4-405d-9b0e-b076e81a6fe6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_cad6e1d5-bf27-4ca5-bc83-f49277cd066c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_a2307413-51c8-4816-ae9c-786e0ac999b5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_cad6e1d5-bf27-4ca5-bc83-f49277cd066c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_30d3de9b-8aba-45a6-bb1e-a4ce03bd7cec" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_a2307413-51c8-4816-ae9c-786e0ac999b5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_30d3de9b-8aba-45a6-bb1e-a4ce03bd7cec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_c736c56b-a748-4472-8229-0d31b2634b77" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_7aa259f7-fdaf-4e12-a1f8-9acaadb3f600" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_c736c56b-a748-4472-8229-0d31b2634b77" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_86c3b4fb-7011-4d3d-b334-b6c50dc53cb2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_c736c56b-a748-4472-8229-0d31b2634b77" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_86c3b4fb-7011-4d3d-b334-b6c50dc53cb2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_5e6566c0-f61f-4efd-92c9-4e27eb613e6d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_c736c56b-a748-4472-8229-0d31b2634b77" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_5e6566c0-f61f-4efd-92c9-4e27eb613e6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_ef81b5b0-e838-4d1b-9b14-eea319d16d74" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_c736c56b-a748-4472-8229-0d31b2634b77" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_ef81b5b0-e838-4d1b-9b14-eea319d16d74" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_43cb1af7-c126-488b-8dc0-5801726a25e4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_c736c56b-a748-4472-8229-0d31b2634b77" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_43cb1af7-c126-488b-8dc0-5801726a25e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_67aef937-17d2-4532-96f4-899a6434c602" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_c736c56b-a748-4472-8229-0d31b2634b77" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_67aef937-17d2-4532-96f4-899a6434c602" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_282383bd-a9d3-4495-8a6e-1e3d52e7e1cb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_c736c56b-a748-4472-8229-0d31b2634b77" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_282383bd-a9d3-4495-8a6e-1e3d52e7e1cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_0f050009-f81f-4c19-a3d2-500fd3e51fb3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_c736c56b-a748-4472-8229-0d31b2634b77" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_0f050009-f81f-4c19-a3d2-500fd3e51fb3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_3b5bf708-7d69-492d-8f5f-89475235f702" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_c736c56b-a748-4472-8229-0d31b2634b77" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_3b5bf708-7d69-492d-8f5f-89475235f702" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_25855fad-82fd-49c7-9da7-3d348209c03f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_c736c56b-a748-4472-8229-0d31b2634b77" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_25855fad-82fd-49c7-9da7-3d348209c03f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_b200950f-c9e3-4792-b129-3ab2674f5d97" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_c736c56b-a748-4472-8229-0d31b2634b77" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_b200950f-c9e3-4792-b129-3ab2674f5d97" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_64cc7e26-0d8a-4f7b-b38f-7a7599388674" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_7aa259f7-fdaf-4e12-a1f8-9acaadb3f600" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_64cc7e26-0d8a-4f7b-b38f-7a7599388674" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_a4e0109c-d28d-4c4c-86b1-5c519c38d9d0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_c202cbf9-1005-4d9e-8433-5c9aa45a5e01" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_a4e0109c-d28d-4c4c-86b1-5c519c38d9d0" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_c202cbf9-1005-4d9e-8433-5c9aa45a5e01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_bfbdccfe-afc1-4043-b443-9256da468aff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_c202cbf9-1005-4d9e-8433-5c9aa45a5e01" xlink:to="loc_us-gaap_AwardTypeAxis_bfbdccfe-afc1-4043-b443-9256da468aff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2ce9cfa8-4671-4e1a-9dbe-40caed04b810" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_bfbdccfe-afc1-4043-b443-9256da468aff" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2ce9cfa8-4671-4e1a-9dbe-40caed04b810" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_8e297a78-5b97-4034-ab87-124c89e96510" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2ce9cfa8-4671-4e1a-9dbe-40caed04b810" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_8e297a78-5b97-4034-ab87-124c89e96510" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PerformanceBasedRestrictedStockUnitsMember_9406a5f1-0f2e-4e7c-a352-8578ea74c26e" xlink:href="qlys-20231231.xsd#qlys_PerformanceBasedRestrictedStockUnitsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2ce9cfa8-4671-4e1a-9dbe-40caed04b810" xlink:to="loc_qlys_PerformanceBasedRestrictedStockUnitsMember_9406a5f1-0f2e-4e7c-a352-8578ea74c26e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis_90c7a864-d042-4c06-aeaa-9fa55ca552d0" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_c202cbf9-1005-4d9e-8433-5c9aa45a5e01" xlink:to="loc_srt_TitleOfIndividualAxis_90c7a864-d042-4c06-aeaa-9fa55ca552d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_d1423b78-bfde-41a3-aacc-aac0fe819d88" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualAxis_90c7a864-d042-4c06-aeaa-9fa55ca552d0" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_d1423b78-bfde-41a3-aacc-aac0fe819d88" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ExecutiveOfficer1Member_70641618-c350-40dc-ab59-ce1ac6a420d1" xlink:href="qlys-20231231.xsd#qlys_ExecutiveOfficer1Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_d1423b78-bfde-41a3-aacc-aac0fe819d88" xlink:to="loc_qlys_ExecutiveOfficer1Member_70641618-c350-40dc-ab59-ce1ac6a420d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ExecutiveOfficerMember_d4d3283e-2daf-45d9-b006-908423f86907" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ExecutiveOfficerMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_d1423b78-bfde-41a3-aacc-aac0fe819d88" xlink:to="loc_srt_ExecutiveOfficerMember_d4d3283e-2daf-45d9-b006-908423f86907" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ExecutiveOfficer2Member_2e4f7b9a-31b2-4f4a-a853-c8065b38788e" xlink:href="qlys-20231231.xsd#qlys_ExecutiveOfficer2Member"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_d1423b78-bfde-41a3-aacc-aac0fe819d88" xlink:to="loc_qlys_ExecutiveOfficer2Member_2e4f7b9a-31b2-4f4a-a853-c8065b38788e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ExecutiveOfficer3Member_1ccc97ea-77f0-48fc-838a-ae7df06cc60c" xlink:href="qlys-20231231.xsd#qlys_ExecutiveOfficer3Member"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_d1423b78-bfde-41a3-aacc-aac0fe819d88" xlink:to="loc_qlys_ExecutiveOfficer3Member_1ccc97ea-77f0-48fc-838a-ae7df06cc60c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ExecutiveOfficer4Member_e35fb761-c34d-4c01-910b-16e19b836ead" xlink:href="qlys-20231231.xsd#qlys_ExecutiveOfficer4Member"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_d1423b78-bfde-41a3-aacc-aac0fe819d88" xlink:to="loc_qlys_ExecutiveOfficer4Member_e35fb761-c34d-4c01-910b-16e19b836ead" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_caae413b-0285-41bb-b17a-72f0792cfd85" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_c202cbf9-1005-4d9e-8433-5c9aa45a5e01" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_caae413b-0285-41bb-b17a-72f0792cfd85" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_ee2f36eb-efc8-41ab-a365-07e9f3b730eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_caae413b-0285-41bb-b17a-72f0792cfd85" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_ee2f36eb-efc8-41ab-a365-07e9f3b730eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_ee658ec2-1893-41b8-bb53-cd4bd7db6674" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_ee2f36eb-efc8-41ab-a365-07e9f3b730eb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_ee658ec2-1893-41b8-bb53-cd4bd7db6674" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_31658827-8c9d-492c-8047-183ecb4d355e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_ee2f36eb-efc8-41ab-a365-07e9f3b730eb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_31658827-8c9d-492c-8047-183ecb4d355e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_c880de27-8a24-4990-9138-4d4d0bf6b9dc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_ee2f36eb-efc8-41ab-a365-07e9f3b730eb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_c880de27-8a24-4990-9138-4d4d0bf6b9dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_40fb6262-eff0-4a92-963b-ff1147f67017" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_ee2f36eb-efc8-41ab-a365-07e9f3b730eb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_40fb6262-eff0-4a92-963b-ff1147f67017" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_cde76b68-2f9f-4fde-a6c5-942ae2e93a1b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_ee2f36eb-efc8-41ab-a365-07e9f3b730eb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_cde76b68-2f9f-4fde-a6c5-942ae2e93a1b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber_64d32756-6725-4dad-b06f-9931940b4b6f" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_caae413b-0285-41bb-b17a-72f0792cfd85" xlink:to="loc_qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber_64d32756-6725-4dad-b06f-9931940b4b6f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_f18c9929-aa57-4c68-8f5e-482ce06bf228" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_caae413b-0285-41bb-b17a-72f0792cfd85" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_f18c9929-aa57-4c68-8f5e-482ce06bf228" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_0f397f59-9907-481f-ba0c-fe9eaa9efc40" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_f18c9929-aa57-4c68-8f5e-482ce06bf228" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_0f397f59-9907-481f-ba0c-fe9eaa9efc40" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c17262dd-aa94-455a-bfbf-a603470c3019" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_f18c9929-aa57-4c68-8f5e-482ce06bf228" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c17262dd-aa94-455a-bfbf-a603470c3019" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_5feabc71-1262-44c8-982e-36c69c383341" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_f18c9929-aa57-4c68-8f5e-482ce06bf228" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_5feabc71-1262-44c8-982e-36c69c383341" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_4ea38ef0-62f9-405c-ae1e-ead4b13aec16" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_f18c9929-aa57-4c68-8f5e-482ce06bf228" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_4ea38ef0-62f9-405c-ae1e-ead4b13aec16" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_c4db998e-5171-4f1e-a583-ac5a724ce4fe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_f18c9929-aa57-4c68-8f5e-482ce06bf228" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_c4db998e-5171-4f1e-a583-ac5a724ce4fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_f91868ed-7798-48f2-a7ed-b1b5079c4df5" xlink:href="qlys-20231231.xsd#qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_caae413b-0285-41bb-b17a-72f0792cfd85" xlink:to="loc_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_f91868ed-7798-48f2-a7ed-b1b5079c4df5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_ed9197ab-0e12-44d5-b01a-cf892fee8b99" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_9fce46d4-58e9-4edd-92be-425245f6df8c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_ed9197ab-0e12-44d5-b01a-cf892fee8b99" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_9fce46d4-58e9-4edd-92be-425245f6df8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_446d7e6a-ed87-4e8c-947f-2a20225910e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_9fce46d4-58e9-4edd-92be-425245f6df8c" xlink:to="loc_us-gaap_AwardTypeAxis_446d7e6a-ed87-4e8c-947f-2a20225910e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a6be0584-a3c4-48d0-9b02-085e698b2373" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_446d7e6a-ed87-4e8c-947f-2a20225910e6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a6be0584-a3c4-48d0-9b02-085e698b2373" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_be92d43e-109c-4040-b723-abf05f93fe38" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a6be0584-a3c4-48d0-9b02-085e698b2373" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_be92d43e-109c-4040-b723-abf05f93fe38" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d116b39b-22d2-45df-96dc-91d14a7337c8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_9fce46d4-58e9-4edd-92be-425245f6df8c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d116b39b-22d2-45df-96dc-91d14a7337c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_68158b96-bbff-4f1a-b1b4-cd82b4617daa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d116b39b-22d2-45df-96dc-91d14a7337c8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_68158b96-bbff-4f1a-b1b4-cd82b4617daa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_6b12899f-2d7a-4c24-83f8-b6f6458c7a7e" xlink:href="qlys-20231231.xsd#qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d116b39b-22d2-45df-96dc-91d14a7337c8" xlink:to="loc_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod_6b12899f-2d7a-4c24-83f8-b6f6458c7a7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions_3eb851ee-162f-483d-b59c-d2f4908639b4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d116b39b-22d2-45df-96dc-91d14a7337c8" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions_3eb851ee-162f-483d-b59c-d2f4908639b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_0b0dea5b-79e4-4647-9b7e-0173bfb98053" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_7ae5585b-b521-46f1-8b4b-f35916668dcf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_0b0dea5b-79e4-4647-9b7e-0173bfb98053" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_7ae5585b-b521-46f1-8b4b-f35916668dcf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_d4550b2f-99fb-4ed2-81e2-1529172dc1c7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_7ae5585b-b521-46f1-8b4b-f35916668dcf" xlink:to="loc_us-gaap_PlanNameAxis_d4550b2f-99fb-4ed2-81e2-1529172dc1c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_f1d6a899-2f5a-417b-9716-2df52523972f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_d4550b2f-99fb-4ed2-81e2-1529172dc1c7" xlink:to="loc_us-gaap_PlanNameDomain_f1d6a899-2f5a-417b-9716-2df52523972f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_The2021EmployeeStockPurchasePlanMember_70881802-872a-4bc7-b8a8-67fe8253e621" xlink:href="qlys-20231231.xsd#qlys_The2021EmployeeStockPurchasePlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_f1d6a899-2f5a-417b-9716-2df52523972f" xlink:to="loc_qlys_The2021EmployeeStockPurchasePlanMember_70881802-872a-4bc7-b8a8-67fe8253e621" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_7ae5585b-b521-46f1-8b4b-f35916668dcf" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_cd1a6a9a-99fa-4416-ae0b-bbf22e72315a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_cd1a6a9a-99fa-4416-ae0b-bbf22e72315a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_7bf04d95-6699-4e0e-b1ac-60f0d56108c2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_7bf04d95-6699-4e0e-b1ac-60f0d56108c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_8a04979b-8dec-41c2-9d99-398fee3be45f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_8a04979b-8dec-41c2-9d99-398fee3be45f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_e6112b05-a320-44b2-8afd-2db83833a466" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_e6112b05-a320-44b2-8afd-2db83833a466" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_4c9e4ed9-e91d-4713-968b-246998622c11" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_4c9e4ed9-e91d-4713-968b-246998622c11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_691bb6d4-4985-4323-95af-a37a9573e0c8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_691bb6d4-4985-4323-95af-a37a9573e0c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_e30a57cf-6cd5-4d9e-b9bb-382a8490ad9f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_348f1551-9b8d-40d8-9bc7-35497a13b457" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_e30a57cf-6cd5-4d9e-b9bb-382a8490ad9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationScheduleofRepurchaseAgreementsDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationScheduleofRepurchaseAgreementsDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationScheduleofRepurchaseAgreementsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_1ad90ac2-45c3-4bc0-8055-9b9589c39a8c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_StockRepurchaseProgramRollForward_a0b307ae-35d7-49f7-917d-e0216eb997a0" xlink:href="qlys-20231231.xsd#qlys_StockRepurchaseProgramRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_1ad90ac2-45c3-4bc0-8055-9b9589c39a8c" xlink:to="loc_qlys_StockRepurchaseProgramRollForward_a0b307ae-35d7-49f7-917d-e0216eb997a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_37d3a284-56fa-4178-aa20-4dff87ea0da8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_qlys_StockRepurchaseProgramRollForward_a0b307ae-35d7-49f7-917d-e0216eb997a0" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_37d3a284-56fa-4178-aa20-4dff87ea0da8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_ab4f9dad-b758-4a41-91e1-e475cb5bde50" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bbe5679c-1748-480c-a386-187b98eb26a5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_ab4f9dad-b758-4a41-91e1-e475cb5bde50" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bbe5679c-1748-480c-a386-187b98eb26a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_3c289ebe-73dc-47f5-86c5-749d2e3ccbad" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bbe5679c-1748-480c-a386-187b98eb26a5" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_3c289ebe-73dc-47f5-86c5-749d2e3ccbad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_14073608-def8-4d72-9e14-5376c884e43b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_3c289ebe-73dc-47f5-86c5-749d2e3ccbad" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_14073608-def8-4d72-9e14-5376c884e43b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember_80b16d3b-94e7-4004-bbfe-d786cfeedc4f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_14073608-def8-4d72-9e14-5376c884e43b" xlink:to="loc_us-gaap_SubsequentEventMember_80b16d3b-94e7-4004-bbfe-d786cfeedc4f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_67861f47-f4ff-432e-ab65-ea60799dcdd1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bbe5679c-1748-480c-a386-187b98eb26a5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_67861f47-f4ff-432e-ab65-ea60799dcdd1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_StockRepurchaseProgramAdditionalAuthorizedAmount_93d59ca1-9e23-481c-acd5-58de680727bb" xlink:href="qlys-20231231.xsd#qlys_StockRepurchaseProgramAdditionalAuthorizedAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_67861f47-f4ff-432e-ab65-ea60799dcdd1" xlink:to="loc_qlys_StockRepurchaseProgramAdditionalAuthorizedAmount_93d59ca1-9e23-481c-acd5-58de680727bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_2f2bdbbe-3a43-4f4e-b23d-929edc3de292" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_67861f47-f4ff-432e-ab65-ea60799dcdd1" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_2f2bdbbe-3a43-4f4e-b23d-929edc3de292" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_a36bbe51-dcfc-4028-a5ae-b2e9f0c90623" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_67861f47-f4ff-432e-ab65-ea60799dcdd1" xlink:to="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_a36bbe51-dcfc-4028-a5ae-b2e9f0c90623" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_18744a53-6d76-4e79-baf5-6bf1b38db738" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_67861f47-f4ff-432e-ab65-ea60799dcdd1" xlink:to="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_18744a53-6d76-4e79-baf5-6bf1b38db738" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_a4a6e84d-1971-4407-b639-d850ca7a532d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_67861f47-f4ff-432e-ab65-ea60799dcdd1" xlink:to="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_a4a6e84d-1971-4407-b639-d850ca7a532d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/EmployeeBenefitPlanDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#EmployeeBenefitPlanDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/EmployeeBenefitPlanDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_c9cdf2bd-0b7b-45bb-8a8b-d93c8451e16a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanCostRecognized_457fa391-d705-443f-b073-8999f882071c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanCostRecognized"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_c9cdf2bd-0b7b-45bb-8a8b-d93c8451e16a" xlink:to="loc_us-gaap_DefinedContributionPlanCostRecognized_457fa391-d705-443f-b073-8999f882071c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_37f8c381-58c1-4459-8389-110cae4099e7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_c9cdf2bd-0b7b-45bb-8a8b-d93c8451e16a" xlink:to="loc_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_37f8c381-58c1-4459-8389-110cae4099e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IncomeTaxesScheduleofIncomebeforeIncomeTaxDomesticandForeignDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#IncomeTaxesScheduleofIncomebeforeIncomeTaxDomesticandForeignDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/IncomeTaxesScheduleofIncomebeforeIncomeTaxDomesticandForeignDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_306caf8c-70f9-4120-854e-7b333fb33e76" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_a722eac8-1a24-42fe-a849-9ad73738310e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_306caf8c-70f9-4120-854e-7b333fb33e76" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_a722eac8-1a24-42fe-a849-9ad73738310e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_c048a4f1-8d0d-438c-9547-b6aed0cf115b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_306caf8c-70f9-4120-854e-7b333fb33e76" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_c048a4f1-8d0d-438c-9547-b6aed0cf115b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_86f98d1c-7282-4b56-8808-20bae35dac1a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_306caf8c-70f9-4120-854e-7b333fb33e76" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_86f98d1c-7282-4b56-8808-20bae35dac1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_abf0fd25-aeab-4078-a013-8c034173ad1f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_acba3263-b375-444b-8962-87126cb9f937" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_abf0fd25-aeab-4078-a013-8c034173ad1f" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_acba3263-b375-444b-8962-87126cb9f937" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit_8ce78b0b-e9e0-4836-9ca1-0b38981fc864" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_acba3263-b375-444b-8962-87126cb9f937" xlink:to="loc_us-gaap_CurrentFederalTaxExpenseBenefit_8ce78b0b-e9e0-4836-9ca1-0b38981fc864" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_587decfd-93ce-4944-8ee3-f8e8fdc5cce2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_acba3263-b375-444b-8962-87126cb9f937" xlink:to="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_587decfd-93ce-4944-8ee3-f8e8fdc5cce2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentForeignTaxExpenseBenefit_3af3fc9f-a274-4cd2-a58e-514b4a2b84ea" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_acba3263-b375-444b-8962-87126cb9f937" xlink:to="loc_us-gaap_CurrentForeignTaxExpenseBenefit_3af3fc9f-a274-4cd2-a58e-514b4a2b84ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_950e4e2c-bafa-4eab-a602-56bcb80ec6b8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_acba3263-b375-444b-8962-87126cb9f937" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_950e4e2c-bafa-4eab-a602-56bcb80ec6b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_e4ab6ce7-e132-4b04-88b9-10ffed596d0c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_abf0fd25-aeab-4078-a013-8c034173ad1f" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_e4ab6ce7-e132-4b04-88b9-10ffed596d0c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_5e55a35e-211c-4bf3-b5ac-b0f63e09a510" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_e4ab6ce7-e132-4b04-88b9-10ffed596d0c" xlink:to="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_5e55a35e-211c-4bf3-b5ac-b0f63e09a510" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_c6d95f09-7137-4182-8038-62043b93e211" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_e4ab6ce7-e132-4b04-88b9-10ffed596d0c" xlink:to="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_c6d95f09-7137-4182-8038-62043b93e211" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_6be042d3-1053-48d4-bdbb-d0fcce07615a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_e4ab6ce7-e132-4b04-88b9-10ffed596d0c" xlink:to="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_6be042d3-1053-48d4-bdbb-d0fcce07615a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_62697af6-b7b3-41bb-836a-0c6394466b7f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_e4ab6ce7-e132-4b04-88b9-10ffed596d0c" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_62697af6-b7b3-41bb-836a-0c6394466b7f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_2d8b67ac-b2e1-4318-928e-d38bcbfed73e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_abf0fd25-aeab-4078-a013-8c034173ad1f" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_2d8b67ac-b2e1-4318-928e-d38bcbfed73e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_c1054853-9775-46fc-ab42-97b67142a15a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_5c61a85c-d04d-4a9e-80d1-4d1dd11ad2d7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_c1054853-9775-46fc-ab42-97b67142a15a" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_5c61a85c-d04d-4a9e-80d1-4d1dd11ad2d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_cd738287-9d24-42e1-9dd1-eaac41384b25" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_c1054853-9775-46fc-ab42-97b67142a15a" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_cd738287-9d24-42e1-9dd1-eaac41384b25" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_372370ec-8c44-4838-88ad-e5a27d55c4ed" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_c1054853-9775-46fc-ab42-97b67142a15a" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_372370ec-8c44-4838-88ad-e5a27d55c4ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_5ba3051e-8974-4ce9-9f27-7ac1539055d5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_c1054853-9775-46fc-ab42-97b67142a15a" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_5ba3051e-8974-4ce9-9f27-7ac1539055d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_6cf823ee-c661-48d1-b469-4356fabb912d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_c1054853-9775-46fc-ab42-97b67142a15a" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_6cf823ee-c661-48d1-b469-4356fabb912d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_890d5194-94af-4377-ad33-ae80b4e6dadc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_c1054853-9775-46fc-ab42-97b67142a15a" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_890d5194-94af-4377-ad33-ae80b4e6dadc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_72d82763-103d-4cd3-a183-a18a54898b01" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_c1054853-9775-46fc-ab42-97b67142a15a" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_72d82763-103d-4cd3-a183-a18a54898b01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_d3387248-f105-4472-b3d5-a55c9541eb3f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_c1054853-9775-46fc-ab42-97b67142a15a" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_d3387248-f105-4472-b3d5-a55c9541eb3f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_5c3c4447-6e01-447d-aa66-450575110055" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_c1054853-9775-46fc-ab42-97b67142a15a" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_5c3c4447-6e01-447d-aa66-450575110055" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_1b98c17c-2cb2-4505-a0e4-0ac0394b8982" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_c1054853-9775-46fc-ab42-97b67142a15a" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_1b98c17c-2cb2-4505-a0e4-0ac0394b8982" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_98f2c7d6-6e84-4ca9-9e91-2fdfc9deb26d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsNetAbstract_253005fe-35e3-47a1-b528-718417cbd59a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNetAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_98f2c7d6-6e84-4ca9-9e91-2fdfc9deb26d" xlink:to="loc_us-gaap_DeferredTaxAssetsNetAbstract_253005fe-35e3-47a1-b528-718417cbd59a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_4bf2d819-9f56-4348-9b87-ea6d1c786462" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_253005fe-35e3-47a1-b528-718417cbd59a" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_4bf2d819-9f56-4348-9b87-ea6d1c786462" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_f610d953-c7ac-48cb-8e8d-1f08d06361fb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_253005fe-35e3-47a1-b528-718417cbd59a" xlink:to="loc_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_f610d953-c7ac-48cb-8e8d-1f08d06361fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_fc7137c3-f5f4-44f9-946c-9a2932d3ad9d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_253005fe-35e3-47a1-b528-718417cbd59a" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_fc7137c3-f5f4-44f9-946c-9a2932d3ad9d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsDeferredIncome_91844bfb-27d5-49d5-a8b1-c7c2679ca2b5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsDeferredIncome"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_253005fe-35e3-47a1-b528-718417cbd59a" xlink:to="loc_us-gaap_DeferredTaxAssetsDeferredIncome_91844bfb-27d5-49d5-a8b1-c7c2679ca2b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_DeferredTaxAssetsOperatingLeaseLiabilities_3d9f02b5-90f3-4f4c-9001-3b5f8a34b797" xlink:href="qlys-20231231.xsd#qlys_DeferredTaxAssetsOperatingLeaseLiabilities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_253005fe-35e3-47a1-b528-718417cbd59a" xlink:to="loc_qlys_DeferredTaxAssetsOperatingLeaseLiabilities_3d9f02b5-90f3-4f4c-9001-3b5f8a34b797" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets_ef487083-7bed-4e27-a88d-862036cb9d1e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_253005fe-35e3-47a1-b528-718417cbd59a" xlink:to="loc_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets_ef487083-7bed-4e27-a88d-862036cb9d1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_842c62e7-8de1-4760-bec6-76f93ffbf509" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_253005fe-35e3-47a1-b528-718417cbd59a" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_842c62e7-8de1-4760-bec6-76f93ffbf509" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_49e42bfc-1deb-4d31-bf89-173f45494f69" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_253005fe-35e3-47a1-b528-718417cbd59a" xlink:to="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_49e42bfc-1deb-4d31-bf89-173f45494f69" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOther_2b693eb5-36b8-462a-855f-3c7071278b2e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_253005fe-35e3-47a1-b528-718417cbd59a" xlink:to="loc_us-gaap_DeferredTaxAssetsOther_2b693eb5-36b8-462a-855f-3c7071278b2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_3ea7fd61-2ebd-4501-b536-c022a617cf83" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_253005fe-35e3-47a1-b528-718417cbd59a" xlink:to="loc_us-gaap_DeferredTaxAssetsGross_3ea7fd61-2ebd-4501-b536-c022a617cf83" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_0a8098ea-81dd-4c82-81aa-9e8d7590dbf2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_253005fe-35e3-47a1-b528-718417cbd59a" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_0a8098ea-81dd-4c82-81aa-9e8d7590dbf2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsNet_837b7afd-7286-4661-8267-15b9ccdd0cdf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetAbstract_253005fe-35e3-47a1-b528-718417cbd59a" xlink:to="loc_us-gaap_DeferredTaxAssetsNet_837b7afd-7286-4661-8267-15b9ccdd0cdf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesAbstract_63dbd860-dc02-4d82-a801-0cb188207aa8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_98f2c7d6-6e84-4ca9-9e91-2fdfc9deb26d" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesAbstract_63dbd860-dc02-4d82-a801-0cb188207aa8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_06052df7-c21a-4943-9582-b2d062720a55" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_63dbd860-dc02-4d82-a801-0cb188207aa8" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_06052df7-c21a-4943-9582-b2d062720a55" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_DeferredLiabilitiesRightofuseAssets_d59ca51e-02ab-401f-b939-9f461a5825d8" xlink:href="qlys-20231231.xsd#qlys_DeferredLiabilitiesRightofuseAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_63dbd860-dc02-4d82-a801-0cb188207aa8" xlink:to="loc_qlys_DeferredLiabilitiesRightofuseAssets_d59ca51e-02ab-401f-b939-9f461a5825d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_DeferredTaxLiabilitiesDeferredCommission_66f2a8a9-5046-43c3-9cd8-9f90cbcf93a6" xlink:href="qlys-20231231.xsd#qlys_DeferredTaxLiabilitiesDeferredCommission"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_63dbd860-dc02-4d82-a801-0cb188207aa8" xlink:to="loc_qlys_DeferredTaxLiabilitiesDeferredCommission_66f2a8a9-5046-43c3-9cd8-9f90cbcf93a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_4a4b7c75-a538-4158-a4b4-8e007f5ac2bf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_63dbd860-dc02-4d82-a801-0cb188207aa8" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilities_4a4b7c75-a538-4158-a4b4-8e007f5ac2bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_cc7098a6-4152-4699-a825-0b11d37d7750" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_98f2c7d6-6e84-4ca9-9e91-2fdfc9deb26d" xlink:to="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_cc7098a6-4152-4699-a825-0b11d37d7750" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IncomeTaxesNarrativeDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#IncomeTaxesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/IncomeTaxesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_7fa655f9-54dd-460c-803e-31027a45e837" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyTable_9d4b0c54-aa75-4613-ac85-cb7e3880010f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7fa655f9-54dd-460c-803e-31027a45e837" xlink:to="loc_us-gaap_IncomeTaxContingencyTable_9d4b0c54-aa75-4613-ac85-cb7e3880010f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_7f6cd6cc-69ba-45e2-afb6-c2907dcc0cde" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_9d4b0c54-aa75-4613-ac85-cb7e3880010f" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_7f6cd6cc-69ba-45e2-afb6-c2907dcc0cde" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_99a3d707-c8e9-4f6e-8131-d528d9cc5456" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_7f6cd6cc-69ba-45e2-afb6-c2907dcc0cde" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_99a3d707-c8e9-4f6e-8131-d528d9cc5456" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCountryMember_0222697d-9503-4fab-ad8d-89040d39b4cc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCountryMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_99a3d707-c8e9-4f6e-8131-d528d9cc5456" xlink:to="loc_us-gaap_ForeignCountryMember_0222697d-9503-4fab-ad8d-89040d39b4cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems_71edd982-8e64-46e5-a883-37c09b4a4b9e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_9d4b0c54-aa75-4613-ac85-cb7e3880010f" xlink:to="loc_us-gaap_IncomeTaxContingencyLineItems_71edd982-8e64-46e5-a883-37c09b4a4b9e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_a82bfb2c-d743-4d87-9562-7331eec875d4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_71edd982-8e64-46e5-a883-37c09b4a4b9e" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_a82bfb2c-d743-4d87-9562-7331eec875d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards_cf92bd37-1235-4cb3-9656-7a94c9559879" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_71edd982-8e64-46e5-a883-37c09b4a4b9e" xlink:to="loc_us-gaap_OperatingLossCarryforwards_cf92bd37-1235-4cb3-9656-7a94c9559879" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardAmount_8a3c4352-82a3-4b5e-a5d5-e772e706729a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAmount"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_71edd982-8e64-46e5-a883-37c09b4a4b9e" xlink:to="loc_us-gaap_TaxCreditCarryforwardAmount_8a3c4352-82a3-4b5e-a5d5-e772e706729a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_cbf9c910-e7c1-4b0e-a747-d920ca8c12e0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_71edd982-8e64-46e5-a883-37c09b4a4b9e" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_cbf9c910-e7c1-4b0e-a747-d920ca8c12e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/IncomeTaxesScheduleofUnrecognizedTaxBenefitsRollForwardDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#IncomeTaxesScheduleofUnrecognizedTaxBenefitsRollForwardDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/IncomeTaxesScheduleofUnrecognizedTaxBenefitsRollForwardDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_244601ec-16cb-45bb-8aca-e316b5a43c46" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_6bb5f711-0aea-445c-b0f7-478e0cd61125" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_244601ec-16cb-45bb-8aca-e316b5a43c46" xlink:to="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_6bb5f711-0aea-445c-b0f7-478e0cd61125" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefits_4d60dd3b-f648-4dd2-bb1f-925eeac84e3b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_6bb5f711-0aea-445c-b0f7-478e0cd61125" xlink:to="loc_us-gaap_UnrecognizedTaxBenefits_4d60dd3b-f648-4dd2-bb1f-925eeac84e3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_39382410-dcff-43f2-933c-4d4002601b13" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_6bb5f711-0aea-445c-b0f7-478e0cd61125" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_39382410-dcff-43f2-933c-4d4002601b13" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_fdc515ec-9e76-439b-90d9-b07d77d10fa9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_6bb5f711-0aea-445c-b0f7-478e0cd61125" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_fdc515ec-9e76-439b-90d9-b07d77d10fa9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_3940d440-e916-42f4-a7e0-94b89023a73b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_6bb5f711-0aea-445c-b0f7-478e0cd61125" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_3940d440-e916-42f4-a7e0-94b89023a73b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_4d9a421d-b9e9-4189-a70a-809af25b8d71" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_6bb5f711-0aea-445c-b0f7-478e0cd61125" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_4d9a421d-b9e9-4189-a70a-809af25b8d71" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefits_1de77a6a-4f6e-4c3b-be4d-bae8616aa665" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_6bb5f711-0aea-445c-b0f7-478e0cd61125" xlink:to="loc_us-gaap_UnrecognizedTaxBenefits_1de77a6a-4f6e-4c3b-be4d-bae8616aa665" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/SegmentandGeographicAreaInformationNarrativeDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#SegmentandGeographicAreaInformationNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/SegmentandGeographicAreaInformationNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_db8cf678-e103-47ed-ae2b-733ae6cc9936" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfOperatingSegments_7b5a67f0-30fd-42d1-a4e0-1070f8752f0d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_db8cf678-e103-47ed-ae2b-733ae6cc9936" xlink:to="loc_us-gaap_NumberOfOperatingSegments_7b5a67f0-30fd-42d1-a4e0-1070f8752f0d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments_c5a75b7b-edab-4be0-a73d-ca55fea3c34a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_db8cf678-e103-47ed-ae2b-733ae6cc9936" xlink:to="loc_us-gaap_NumberOfReportableSegments_c5a75b7b-edab-4be0-a73d-ca55fea3c34a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_826de516-86ac-4633-b800-26c4a2b8d30e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_20ddc702-186e-40a7-948b-cb8f1226c174" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_826de516-86ac-4633-b800-26c4a2b8d30e" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_20ddc702-186e-40a7-948b-cb8f1226c174" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_f944feeb-1fa1-4d13-949b-a9e45f313c5a" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_20ddc702-186e-40a7-948b-cb8f1226c174" xlink:to="loc_srt_StatementGeographicalAxis_f944feeb-1fa1-4d13-949b-a9e45f313c5a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_cc3772ba-27f4-445e-9a74-74f0ae313dea" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_f944feeb-1fa1-4d13-949b-a9e45f313c5a" xlink:to="loc_srt_SegmentGeographicalDomain_cc3772ba-27f4-445e-9a74-74f0ae313dea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_6cf10fbf-ef39-460d-a33a-4be680b93b68" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_cc3772ba-27f4-445e-9a74-74f0ae313dea" xlink:to="loc_country_US_6cf10fbf-ef39-460d-a33a-4be680b93b68" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonUsMember_7f22cf63-8dfe-4d7b-bcc5-2d1a9daaabe7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_cc3772ba-27f4-445e-9a74-74f0ae313dea" xlink:to="loc_us-gaap_NonUsMember_7f22cf63-8dfe-4d7b-bcc5-2d1a9daaabe7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_IN_16fe7aca-c626-4e36-af29-9a785296a323" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_IN"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_cc3772ba-27f4-445e-9a74-74f0ae313dea" xlink:to="loc_country_IN_16fe7aca-c626-4e36-af29-9a785296a323" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_OtherGeographicAreasMember_a0f3185b-7d6f-467e-930e-c930db299580" xlink:href="qlys-20231231.xsd#qlys_OtherGeographicAreasMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_cc3772ba-27f4-445e-9a74-74f0ae313dea" xlink:to="loc_qlys_OtherGeographicAreasMember_a0f3185b-7d6f-467e-930e-c930db299580" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_719c0aeb-2156-496b-97ad-76007bb7c43a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_20ddc702-186e-40a7-948b-cb8f1226c174" xlink:to="loc_us-gaap_SegmentReportingInformationLineItems_719c0aeb-2156-496b-97ad-76007bb7c43a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_48e37759-67d1-4d46-8299-c70513650dbe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_719c0aeb-2156-496b-97ad-76007bb7c43a" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_48e37759-67d1-4d46-8299-c70513650dbe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets_ccf719fa-7e10-451b-b70a-d72cf793ce96" xlink:href="qlys-20231231.xsd#qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_719c0aeb-2156-496b-97ad-76007bb7c43a" xlink:to="loc_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets_ccf719fa-7e10-451b-b70a-d72cf793ce96" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#NetIncomePerShareBasicandDilutedNetIncomePerShareDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_01905948-7645-45f0-aad2-330c4d14ceca" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract_548a24f4-10d3-4925-b4ec-fd5f558c4e5a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_01905948-7645-45f0-aad2-330c4d14ceca" xlink:to="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract_548a24f4-10d3-4925-b4ec-fd5f558c4e5a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_a4b41ca3-9ad2-4286-922e-1ce7fffbe6f0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract_548a24f4-10d3-4925-b4ec-fd5f558c4e5a" xlink:to="loc_us-gaap_NetIncomeLoss_a4b41ca3-9ad2-4286-922e-1ce7fffbe6f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract_624c4716-9a3e-42aa-b019-7a445209e91b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_01905948-7645-45f0-aad2-330c4d14ceca" xlink:to="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract_624c4716-9a3e-42aa-b019-7a445209e91b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_e120d374-4050-4314-b1c8-03ba6612f3bb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract_624c4716-9a3e-42aa-b019-7a445209e91b" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_e120d374-4050-4314-b1c8-03ba6612f3bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DilutiveSecuritiesAbstract_ac502aa8-be2b-4b84-9a07-3c3dafd52464" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DilutiveSecuritiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract_624c4716-9a3e-42aa-b019-7a445209e91b" xlink:to="loc_us-gaap_DilutiveSecuritiesAbstract_ac502aa8-be2b-4b84-9a07-3c3dafd52464" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_439773ba-263d-47e9-8f7b-74bb937146d5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DilutiveSecuritiesAbstract_ac502aa8-be2b-4b84-9a07-3c3dafd52464" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_439773ba-263d-47e9-8f7b-74bb937146d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants_54e591c2-f52c-42c6-8f48-09e1d29b5b16" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DilutiveSecuritiesAbstract_ac502aa8-be2b-4b84-9a07-3c3dafd52464" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants_54e591c2-f52c-42c6-8f48-09e1d29b5b16" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements_3439ee15-d74a-4d7b-94eb-b57a57905ea7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DilutiveSecuritiesAbstract_ac502aa8-be2b-4b84-9a07-3c3dafd52464" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements_3439ee15-d74a-4d7b-94eb-b57a57905ea7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_bb351aef-695c-4e31-b716-c25635fdabdd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract_624c4716-9a3e-42aa-b019-7a445209e91b" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_bb351aef-695c-4e31-b716-c25635fdabdd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareReconciliationAbstract_c9d65003-dd86-45a7-bc94-b56b8a76a8d4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareReconciliationAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_01905948-7645-45f0-aad2-330c4d14ceca" xlink:to="loc_us-gaap_EarningsPerShareReconciliationAbstract_c9d65003-dd86-45a7-bc94-b56b8a76a8d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_e1643aa3-754a-460e-b4c9-35510818aa8a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareReconciliationAbstract_c9d65003-dd86-45a7-bc94-b56b8a76a8d4" xlink:to="loc_us-gaap_EarningsPerShareBasic_e1643aa3-754a-460e-b4c9-35510818aa8a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_287b14cc-fda4-4e58-8d43-b9650d4c97b4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareReconciliationAbstract_c9d65003-dd86-45a7-bc94-b56b8a76a8d4" xlink:to="loc_us-gaap_EarningsPerShareDiluted_287b14cc-fda4-4e58-8d43-b9650d4c97b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails" xlink:type="simple" xlink:href="qlys-20231231.xsd#NetIncomePerShareAntidilutiveNetIncomePerShareDetails"/>
  <link:presentationLink xlink:role="http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_14eeaaf0-b759-43a0-8e62-e37a0fe96627" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_855f1527-14ae-4d68-96e8-d10732c93162" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_14eeaaf0-b759-43a0-8e62-e37a0fe96627" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_855f1527-14ae-4d68-96e8-d10732c93162" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_8f00708e-bffb-437a-af0d-3f7b04ae87af" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_855f1527-14ae-4d68-96e8-d10732c93162" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_8f00708e-bffb-437a-af0d-3f7b04ae87af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4fe63969-572c-4fdf-b47d-8a7866fe5928" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_8f00708e-bffb-437a-af0d-3f7b04ae87af" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4fe63969-572c-4fdf-b47d-8a7866fe5928" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_74b6c569-6875-482a-9170-24ea71a538d8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4fe63969-572c-4fdf-b47d-8a7866fe5928" xlink:to="loc_us-gaap_EmployeeStockOptionMember_74b6c569-6875-482a-9170-24ea71a538d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_53e5d251-490f-4307-acfd-771661ee5a75" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4fe63969-572c-4fdf-b47d-8a7866fe5928" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_53e5d251-490f-4307-acfd-771661ee5a75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_EmployeeStockPurchasePlanSharesMember_1e264345-a767-4360-9104-e9a47baebce8" xlink:href="qlys-20231231.xsd#qlys_EmployeeStockPurchasePlanSharesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_4fe63969-572c-4fdf-b47d-8a7866fe5928" xlink:to="loc_qlys_EmployeeStockPurchasePlanSharesMember_1e264345-a767-4360-9104-e9a47baebce8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_972076e9-d220-48df-bd0b-0be6c29596f4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_855f1527-14ae-4d68-96e8-d10732c93162" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_972076e9-d220-48df-bd0b-0be6c29596f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_7a9f593f-a100-4493-92d3-c7b18e423734" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_972076e9-d220-48df-bd0b-0be6c29596f4" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_7a9f593f-a100-4493-92d3-c7b18e423734" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#AwardTimingDisclosure"/>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_PerformanceBasedRestrictedStockUnitsMember" xlink:href="qlys-20231231.xsd#qlys_PerformanceBasedRestrictedStockUnitsMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_qlys_PerformanceBasedRestrictedStockUnitsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_ESPPSharesMember" xlink:href="qlys-20231231.xsd#qlys_ESPPSharesMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_qlys_ESPPSharesMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgDiscLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgDiscLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMnpiDiscTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMnpiDiscTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardTmgMnpiDiscTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMethodTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMethodTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardTmgMethodTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgPredtrmndFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgPredtrmndFlag"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardTmgPredtrmndFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMnpiCnsdrdFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMnpiCnsdrdFlag"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardTmgMnpiCnsdrdFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgHowMnpiCnsdrdTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MnpiDiscTimedForCompValFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MnpiDiscTimedForCompValFlag"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_MnpiDiscTimedForCompValFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscTableTextBlock"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscTable"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_IndividualAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:to="loc_ecd_IndividualAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_IndividualAxis" xlink:to="loc_ecd_AllIndividualsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:to="loc_us-gaap_AwardTypeAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_EmployeeStockOptionMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockAppreciationRightsSARSMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockAppreciationRightsSARSMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_StockAppreciationRightsSARSMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscIndName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscIndName"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardsCloseToMnpiDiscIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardUndrlygSecuritiesAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardUndrlygSecuritiesAmt"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardUndrlygSecuritiesAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardExrcPrice" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardExrcPrice"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardExrcPrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardGrantDateFairValue" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardGrantDateFairValue"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardGrantDateFairValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_UndrlygSecurityMktPriceChngPct" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_UndrlygSecurityMktPriceChngPct"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_UndrlygSecurityMktPriceChngPct" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#InsiderTradingArrangements"/>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember"/>
    <link:loc xlink:type="locator" xlink:label="loc_qlys_JeffreyHankMember" xlink:href="qlys-20231231.xsd#qlys_JeffreyHankMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AllIndividualsMember" xlink:to="loc_qlys_JeffreyHankMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTradingArrLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingArrLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TradingArrByIndTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TradingArrByIndTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TradingArrByIndTable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TradingArrAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TradingArrAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_TradingArrByIndTable" xlink:to="loc_ecd_TradingArrAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllTradingArrangementsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllTradingArrangementsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_TradingArrAxis" xlink:to="loc_ecd_AllTradingArrangementsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_IndividualAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_TradingArrByIndTable" xlink:to="loc_ecd_IndividualAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_IndividualAxis" xlink:to="loc_ecd_AllIndividualsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MtrlTermsOfTrdArrTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MtrlTermsOfTrdArrTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_MtrlTermsOfTrdArrTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrIndName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrIndName"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrIndTitle" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrIndTitle"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrIndTitle" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Rule10b51ArrAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrAdoptedFlag"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_Rule10b51ArrAdoptedFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonRule10b51ArrAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrAdoptedFlag"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_NonRule10b51ArrAdoptedFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrAdoptionDate" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrAdoptionDate"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrAdoptionDate" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Rule10b51ArrTrmntdFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrTrmntdFlag"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_Rule10b51ArrTrmntdFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonRule10b51ArrTrmntdFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrTrmntdFlag"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_NonRule10b51ArrTrmntdFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrTerminationDate" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrTerminationDate"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrTerminationDate" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrDuration" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrDuration"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrDuration" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrSecuritiesAggAvailAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrSecuritiesAggAvailAmt"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrSecuritiesAggAvailAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ErrCompDisclosure"/>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RecoveryOfErrCompDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ErrCompRecoveryTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ErrCompRecoveryTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ErrCompRecoveryTable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDateAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDateAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_ErrCompRecoveryTable" xlink:to="loc_ecd_RestatementDateAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_IndividualAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_ErrCompRecoveryTable" xlink:to="loc_ecd_IndividualAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_IndividualAxis" xlink:to="loc_ecd_AllIndividualsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonNeosMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonNeosMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AllIndividualsMember" xlink:to="loc_ecd_NonNeosMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDeterminationDate" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDeterminationDate"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_RestatementDeterminationDate" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AggtErrCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AggtErrCompAmt"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_AggtErrCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ErrCompAnalysisTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ErrCompAnalysisTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ErrCompAnalysisTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_StkPrcOrTsrEstimationMethodTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingAggtErrCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingAggtErrCompAmt"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_OutstandingAggtErrCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AggtErrCompNotYetDeterminedTextBlock"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryIndName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryIndName"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ForgoneRecoveryIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingRecoveryIndName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingRecoveryIndName"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_OutstandingRecoveryIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingRecoveryCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingRecoveryCompAmt"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_OutstandingRecoveryCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDoesNotRequireRecoveryTextBlock"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpDisclosure" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#PvpDisclosure"/>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/PvpDisclosure" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PayVsPerformanceDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PvpTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PvpTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PvpTable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ExecutiveCategoryAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ExecutiveCategoryAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PvpTable" xlink:to="loc_ecd_ExecutiveCategoryAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllExecutiveCategoriesMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllExecutiveCategoriesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_ExecutiveCategoryAxis" xlink:to="loc_ecd_AllExecutiveCategoriesMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AllExecutiveCategoriesMember" xlink:to="loc_ecd_PeoMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AllExecutiveCategoriesMember" xlink:to="loc_ecd_NonPeoNeoMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_IndividualAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PvpTable" xlink:to="loc_ecd_IndividualAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_IndividualAxis" xlink:to="loc_ecd_AllIndividualsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToCompAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToCompAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PvpTable" xlink:to="loc_ecd_AdjToCompAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllAdjToCompMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllAdjToCompMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AdjToCompAxis" xlink:to="loc_ecd_AllAdjToCompMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MeasureAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MeasureAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PvpTable" xlink:to="loc_ecd_MeasureAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PvpTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PvpTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PvpTableTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CoSelectedMeasureName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CoSelectedMeasureName"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CoSelectedMeasureName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NamedExecutiveOfficersFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NamedExecutiveOfficersFnTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_NamedExecutiveOfficersFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeerGroupIssuersFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeerGroupIssuersFnTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PeerGroupIssuersFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ChangedPeerGroupFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ChangedPeerGroupFnTextBlock"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_ChangedPeerGroupFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoTotalCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoTotalCompAmt"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PeoTotalCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoActuallyPaidCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoActuallyPaidCompAmt"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PeoActuallyPaidCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToPeoCompFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToPeoCompFnTextBlock"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_AdjToPeoCompFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoAvgTotalCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoAvgTotalCompAmt"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_NonPeoNeoAvgTotalCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoAvgCompActuallyPaidAmt"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToNonPeoNeoCompFnTextBlock"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_EquityValuationAssumptionDifferenceFnTextBlock"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsNetIncomeTextBlock"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TotalShareholderRtnVsPeerGroupTextBlock"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsOtherMeasureTextBlock"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TabularListTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TabularListTableTextBlock"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_TabularListTableTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TotalShareholderRtnAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TotalShareholderRtnAmt"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_TotalShareholderRtnAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeerGroupTotalShareholderRtnAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeerGroupTotalShareholderRtnAmt"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PeerGroupTotalShareholderRtnAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_us-gaap_NetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CoSelectedMeasureAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CoSelectedMeasureAmt"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CoSelectedMeasureAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OtherPerfMeasureAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OtherPerfMeasureAmt"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_OtherPerfMeasureAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToCompAmt"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_AdjToCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoName"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PeoName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MeasureName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MeasureName"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_MeasureName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonGaapMeasureDescriptionTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonGaapMeasureDescriptionTextBlock"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_NonGaapMeasureDescriptionTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Additional402vDisclosureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Additional402vDisclosureTextBlock"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_Additional402vDisclosureTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#InsiderTradingPoliciesProc"/>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTradingPoliciesProcLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingPoliciesProcLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTrdPoliciesProcAdoptedFlag"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingPoliciesProcLineItems" xlink:to="loc_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingPoliciesProcLineItems" xlink:to="loc_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>15
<FILENAME>qlys-20231231_g1.jpg
<TEXT>
begin 644 qlys-20231231_g1.jpg
M_]C_X  02D9)1@ ! 0$ > !X  #_VP!#  ," @," @,# P,$ P,$!0@%!00$
M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_
MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04
M%!04%!04%!04%!04%!04%!04%!04%!3_P  1" 0A"#4# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#]4Z*** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH ***Y_QIX_\ #GP[THZEXEUFTT:SSA7N
M9,%SZ(OWG/LH)H Z"BOEOQ)_P4,^'NES-%I6F:UK94G$RPI!$WT+MN_-:Y9?
M^"DVD^< ? UZ(O[PU!"WY>7_ %H ^S:*^6/#O_!0_P"'^I7 BU32=:T8'_EL
M8DGC'UVMN_)37NWP_P#C!X-^*5NTOA?Q#9ZLRC<]NC%)T'JT3@.![D8H [&B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **^:_V]_%>L^$_@WILF
MBZI=:5+=ZS%;32V<IB=XC#,Q3<O."44\=<5^=D?BK6H;@3QZQ?I,#N$BW+A@
M?7.: /VGHKQG]D'Q)JGBO]G[PUJ&L7\^IW[&XB:YNG+R,J3R*NYCR<* ,GGB
MO9J "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HKDOB7\4_#7PC\/#6O
M$^H?8;-I!#&%1I))9""0JJHR3@$^@QS7C?\ PWY\*_[^L_\ @"/_ (J@#Z1H
MKYN_X;\^%?\ ?UG_ , 1_P#%4?\ #?OPK_OZU_X C_XN@#Z1HKYN_P"&_?A7
M_?UK_P  1_\ %UZA\(?CIX5^-]CJ-SX9GN'_ +/D2.XANH3&Z;P2IQD@@[6[
M_P )H ]!HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBO./V@OBU_PI7X8ZCXEC
MM4O;U'2WM+>4D(\SG W8(.T ,QQR<8XZT >CT5^7]U^W)\7[B[::/Q!:VT9.
M1;Q:;;E![99"V/QKZX_8_P#VCM3^.FCZS9>((((]<T@QLUQ;+L2XBDW ';V8
M%"#C@Y& .: /HBBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHKR_XO?M
M'>#/@C?:?9>)+BZ^V7L;31PV=N96" XW-R  3D#Z&@#U"BOF[_AOWX5_W]:_
M\ 1_\71_PW[\*_[^M?\ @"/_ (N@#Z1HKYN_X;]^%?\ ?UK_ , 1_P#%T?\
M#?OPK_OZU_X C_XN@#Z1HKYN_P"&_?A7_?UK_P  1_\ %UT?P]_;"^'GQ,\7
M6/AO29]0CU*]++!]KM?+1F52VW=N."0#C\J /;J*** "BBB@ HHHH **** "
MBBB@ HHHH **\&\6?ML?"[PCKUYI$VHWM_<VDC0S26%H9(@ZG# ,2 V#D9&1
MQUK'_P"&_/A7_?UG_P  1_\ %4 ?2-%?-_\ PWY\*_\ GIK/_@#_ /95HZ3^
MW-\(]2F6.76KS3MQQNN]/EVCZE V* /?Z*YWP?\ $3PQ\0+4W'AS7M/UF-1E
MQ9W"NZ?[RYW+^(%=%0 445\D?M>?M9>(/A/XJM_"?A)+:WOA;+<W>H7$0E*;
MR=J(I^7H,DD'[PQ0!];T5^8^B?MU_%K3-0BGO-7L]7MU8%[6YT^%%<=QF-58
M?7-?HQ\/_&%O\0/!.A^)+6)H(-4M([I87.3'N4$H3W(.1GVH Z"BBB@ HHHH
M **** "BOQI\3?$'Q/XDUBZN]4\0:G?7#RL2\UV[8R3P!G 'L.!7T7^P+XZ\
M0W7Q=GT2XUJ^N=)ETR:0V4\[21!U9-K!6) (R>1CK0!^A=%%% !1110 4444
M %%%<Q\1?B5X>^%/AN37?$U^-/T]7$2ML9WDD()"*J@DD@'\B3Q0!T]%?-Y_
M;\^%8)_>:R?^W'_[*C_AOSX5_P#/36?_  !_^RH ^D**^=[7]O+X37#@27^I
MVP/\4NGN0/\ OG->C>"_V@OAU\0KB*WT+Q=IUW=RG$=K*Y@G<^BQR!6)^@H
M]"HHHH **^0_^"AWC#7/#?A_P=::3JUYID%]-=?:5LYVB\[8L6T,5() WMQT
MYKX6M/%VNV%PMQ;:UJ%M<*<K+#=2*P^A!S0!^TM%<!\ M<O_ !+\%_!NIZI=
M27NH7.FQ/-<2G+R-C&YCW/')[UW] !1110 4444 %%%% !1110 4444 %%%>
M+_M0?M"0? ?P=%):1Q7GB74BT6GVLA^5,#YIG'4JN1QW) ]2 #VBFI(L@)1@
MP!P=ISS7XY^.?BUXP^)-]+=>(_$-]J9D;=Y,DQ6!/9(AA%'T KFK'4KO2[A9
M[*ZFM)U.1)!(48?B#0!^V=%?.W[#'C[6O'WP;N9->U"XU2\T_5);..YNI#)*
MT0BB=0S'DX,C#)[ 5]$T %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !116#X\\8V7P^\&ZSXCU$XM--MGN'7."Y
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
MFW.P_E'G\P* /=J*PO"/CKP]X^TW[?X=UFSUFTXW26<P?83T# <J>.A -;M
M!117GFM?M"_#7P[J$MC?^-M'ANX6*R1+<ARC#JK;<X(]#S0!Z'16-X5\9:%X
MXTW^T/#^KV>LV6[:9K*99%5O[IP>#['FN-^(G[1WP[^%E^;#Q#XDA@U$#)LK
M:-[B5?\ >$:G9_P+% 'I=>(_MB?#O5OB5\$[^PT.V>]U*TN8;Z.TB&7F"95E
M4=SM<D#OC%=#\-_VD/AY\5M473/#OB!;C5&5G6RG@D@E8*,G;O4!L#GY2> ?
M2O1KZ^MM-LYKN\N(K2UA4O+/.X1$4=2S'@#W- 'XN7'AO5K.[-K/I=[!= [3
M#);NK@^FTC.:^Z_^"?OPIU_P?I_B;Q%KFFW.E)J0AM[.&[B,<DB(79WVMR%)
M90#CG!KW*;]ICX5P3-$WCO12RG!*7(9?S'!KN?#?BC1_&&EIJ6A:I9ZQ8,2H
MN;&=98]PZKE2<$9Y'44 :E%%07E];Z;:RW5W/%:VT2[I)IG"(@]23P!0!/17
MC7B#]L#X1^';@P3>,+>[E!QC3X);E?\ OM$*_K5/2_VU/A!JDJQ_\)2UF['
M^U6-P@_%MA4?B: /<:*Q_"_C'0O&VGB^T#6++6;3H9K*=954^AP>#['FMB@
MHHJGJVLV&@V,E[J=];:=91_?N+N98HU^K,0!0!<HKQ76_P!LCX0Z'<202>+H
M[N9#@BQM)YU/T=4V'\#3-'_;-^$&L31PKXL6TE<X O+.>)1]7*;1^)H ]MHK
M/T+Q%I7BC3DO]&U*TU:Q<X6YLIUFC)]-RDC-:% !1110 5^=_P#P48LYX_C#
MH%TR-]GET*.-'[%EN)RP_ .OYBOT0K.UCP[I7B!8EU33+/4EB),:WENDH0GJ
M1N!Q0!^*M%?LN?AKX0;KX5T0_P#<.A_^)KQ/]L?P'X9T7]G?Q1>Z?X=TFPO(
MVM-EQ;6,4<BYNH@<,J@C()'XT ?FI117VI_P3S\):'XFTGQNVL:-I^JM#/:"
M,WUK',4RLN=NX'&<#IZ4 ?%=>I?LNVDU[^T%X&C@1G==160A?[J@LQ_!0:_4
M)?A?X,7IX1T(?338?_B:O:7X,\/Z'="YTW0M-T^Y *B:ULXXGP>HRH!Q0!LT
M5YYK?[0GPU\.ZC+8:AXUT>"\A8K)"+D.48=5;;G!'H>:ZKPKXST'QQIO]H>'
M]8LM9L]VTS64ZR!6_NM@\'V/- &S17FOQ%_:.^'?PKOC8>(?$<,&H@9-E;QO
M<2KZ;A&IV?\  L4SX;_M)?#SXK:HNE^'?$"W&J,K.ME<0202,%&3MWJ V!SP
M3P#Z4 >FT55U35++1-/GOM1O(+"Q@7?+<W4JQQQKZLS$ #ZUYW)^TY\*HY3&
M?'>CE@<96?</S Q0!Z=169X=\3Z/XNTQ-1T/5+/6+!R5%S8SK-'N'4;E)&1W
M'45IT %%4-;U[3?#.FRZAJ^H6NEV$/,EU>3+%&OU9B *\_\ ^&G/A5YOE_\
M"=Z/NSC/G\?GC% 'I]%4M'UK3_$6FP:AI5];:E83C=%=6DJRQ..F0RD@U=H
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
M.?\ Y(_X@_[#LG_I/!7U;7RE_P $Y_\ DC_B#_L.R?\ I/!7U;0!\W_M^?\
M) 7_ .PI;?\ L]?FI7Z5?M^?\D!?_L*6W\GK\U: /TP_8)_Y-\M/^PC=?^A"
MOHNOG3]@G_DWVT_["-U_Z$*^BZ /Q+U#_C^N?^NC?S->T?L5_P#)S7@W_M\_
M](IZ\7U#_C^N?^NC?S-='\+_ (C:E\)O'6F>*](@M;G4=/\ -\J*]1FB/F1/
M&=P5E/W7.,$<X^E '[(UF^)/$6G^$= U#6M5N%M-.L86GGF<X"JHS^)/0#N2
M!7Y^O_P46^([1E1HGAA7/\0M;CC\//KR/XJ?M%>._C%&+;Q#K!.FJP==-LT$
M-ON'0E1RQ'8L3CM0!P6O:G_;6N:CJ&SROM=S)<;/[N]BV/UKU+]DCPY/XE_:
M$\'Q0H62TN3?2L!PB1*7R?J0H^K"O+=#T+4?$NJ6^FZ38W&HZA<-LBMK:,N[
MGV K])OV1OV:6^">AW&KZZL;^+M3C"2B,AELX<@^2&'!)(!8CC( '3) /H>O
MS]_X*/,?^%D>%1GC^R6X_P"VSU^@5?GY_P %'O\ DI'A;_L$G_T<] 'R/7[.
M^ 26\"^'"3D_V;;?^BEK\8J_9WP#_P B)X<_[!MM_P"BEH \W_:E^/'_  HG
MP EW9)'-XAU*1K;3HI1E5(&7E8=P@(X[EE[9K\OO$OBC5O&.LW&K:WJ-QJFI
M7!W27-RY=C[>P'8#@=J^I?\ @H]=7#_$CPK;,3]ECTEI(QGC>TSAN/HB5\GZ
M;]F_M*U^V[OL?FIYVWKY>1NQ[XS0!M>'OAOXM\76IN=#\+ZSK-L"09M/T^6=
M,CJ-R*1FL[7/#.L>%[H6VLZ5?:3<,,B&^MGA<_@P!K]D?"$VB7'A?2Y/#;6K
MZ";=/L1LL>3Y0&%"X[8J;Q!X;TKQ7ILNGZSIMKJMC(,-;WD*RH?P(Z^] 'RA
M_P $X]?OK[P=XNTNXN)9K*QNX)+:.1B5B\Q7WA?0$H#@=R3WK[!KC/AK\'_"
MGPC@U.'PKIG]FQ:C.+B=/.>0;@, #<3A1S@>YKLZ /Q)N_\ CZF_WV_G7T1^
MP/\ \G 6_P#V#;G^2U\[W?\ Q]3?[[?SKZ(_8'_Y. M_^P;<_P EH _1;QAX
MMTOP)X9U+7]:N1::9I\)FGE/)P.  .[$D #N2!7Y.?'#XPZI\;/'U[K]^SQ6
MF3%86);*VL /RH/<]6/<D]L >K_MF?M(?\+4\2?\(QX>O/,\(Z7)\TT+96_N
M!D&3(ZQKT7L>6YRN/GSPOX9U/QGX@L-#T:TDOM3OI1#!!&.68^OH ,DD\  D
M\"@#7^&/PUUGXM>,K'PWH</F7=R<O*P/EP1C&Z5SV49_$D <D5^M_P /_!EI
M\._!.B^&K%WEM=,M4MUED&&D('+G'<G)_&N(_9W_ &?]*^ _A$6D7EWFOW@5
M]2U(+_K''1$SR(UR<#OR3R<#UB@ HHHH *^,O^"DW_(O^!O^OJZ_] CK[-KX
MR_X*3?\ (O\ @;_KZNO_ $".@#X1K]2OV*/^39_"'UO/_2R>ORUK]'OV1?BY
MX'\+_L]^%M,UCQAH>E:C";OS;2\U&**5-UU,RY5F!&00?H10!].U\0_\%*;J
MW8_#^VRINU^W2$=U0^0!^9!_[Y-?0'B_]K+X5^#]/DN9/%MGJLBCY+71W%U+
M(?0;?E'U9@/>OSG^/'QEO_CE\0+GQ#=P_8[54%O966[<((%)(!/=B26)]3Z
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
M$GY48X4KTR0>.<^:_M-?!N/X(_%*[T2SDDFTBXA6]L'E.7$+DC8Q[E65ESW
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
M;!."3QGIGF@#WVOR-_:2_P"2]>//^PO/_P"A5^N5?D;^TE_R7KQY_P!A>?\
M]"H ;^SEI-GKGQT\$V5_;QW=I)J49>&495L98 CN,@<=Z_72OR6_9=_Y."\"
M_P#813^1K]:: "N4^+/_ "2OQE_V!;W_ -$/75URGQ9_Y)7XR_[ M[_Z(>@#
M\;Z^Q?\ @F[_ ,CAXS_Z\(/_ $8:^.J^Q?\ @F[_ ,CAXS_Z\(/_ $8: /O:
MH[BWCO+>6"9!)#*I1T;HRD8(/X5)4%]>PZ;8W%W<R"*WMXVEED;HJJ"2?R%
M'XJZM9'3=4O+0];>9XC_ ,!8C^E>T_L3WS6?[2?A50Q5)UNXGQW'V64@?FHK
MQ?5K]M5U6]O6&&N9GF(]V8G^M>X?L.Z:]]^T?X>F5=RV<%W._L#;O'G\Y!0!
M^H%?BKXD_P"1BU3_ *^I?_0S7[55^*OB3_D8M4_Z^I?_ $,T >V_L-Z39ZK^
MT+I!O+>.X^RVUQ<PB09"2*GRL!ZC)QZ'GJ*_3VOS-_8+_P"3A++_ +!]U_Z"
M*_3*@ KQS]L#_DV_QK_UPA_]*(J]CKQS]L#_ )-O\:_]<(?_ $HBH _*>OOW
M_@F__P B#XM_["<?_HH5\!5]^_\ !-__ )$'Q;_V$X__ $4* /I_Q[X/M?B!
MX+UOPY>DI;:G:26S2 9,992 X]U.&'N*_(?X@_#W7/ACXIO- U^RDL[VW<@,
MRG9,F<"2,_Q(>Q'\\BOV7KDOB-\*_"WQ8T<:;XHTB'4H%R8I&RLL+$8W(XPR
MGZ'!QR#0!^0.@^(-4\+ZI#J.CZA=:7?PG,=S:2M%(OT8'-?37PQ_X*!^,/#;
M0VOBVQM_%-@N%-P@%O=@=,Y V-^*@G^]70_$[_@G;J=CY]YX%UR/4H1EETW5
M,138]%E'RL?]X)]:^3?%O@_6_ >N3:/X@TRXTG4H<%[>X3!P>C ]&4]B,@T
M?K)\)?CAX2^-6DO>^&]0\R:$ W&GW "7-OGIO3)X/]X$J?6N^K\9OA[X\U;X
M9^+]-\1:+<-;WUE('P#A94_BC;U5AD$>]?L+X7U^W\5^&M)UNT_X]=2M(KR+
MG/RR(''Z&@#\?/B7JCZY\1O%.H2.9'NM4NIBQ[[I6/\ 6I?AG\1M5^%'C*R\
M3:*EL^I6:R+%]KC+QC>C(V0"/X6/>J/CFR.F^-O$%HRE&M]0N(BI&"-LC#'Z
M5U?[/OPWTSXN?%72?"NJWMQI]K?)-B:U*[PR1-( -P(YVT >H_\ #P3XH?\
M/'0?_ )__CE'_#P3XH?\\-!_\ G_ /CE>W?\.X_!G_0T:]_Y!_\ B*/^'<?@
MS_H:->_\@_\ Q% 'PAXN\37GC3Q1JNOZ@(UOM2N9+N<0J53>[%FV@DX&3ZUZ
M[^Q+(\?[2WA,*"0ZWBM]/LDQ_F!7TD/^"<?@OOXGU[_R!_\ $5Z-\%OV1?!W
MP3\2/K^GW.HZMJWE-#%-J#H5@5N&**B+\Q'!)SQTQDY /<**** "BBB@ KPS
M]MK_ )-I\6?[UG_Z5PU[G7AG[;7_ ";3XL_WK/\ ]*X: /RWK[N_X)L_\B_X
MY/\ T]6O_H$E?"-?=_\ P39_Y%WQS_U]VO\ Z!)0!]F4444 ?BOXH_Y&;5_^
MOR;_ -#->T_L.Z39ZK^T-HWVRW2X%M;W%S")!D)(J':V/49R/0X/45XMXH_Y
M&;5_^OR;_P!#->Z?L&_\G#:?_P!>%U_Z!0!^FE%%% 'B'[:G_)LWC+_MS_\
M2V"ORSK]3?VTE+?LS^,@!DXLS^5Y!7Y94 ?H=_P3G_Y(_P"(/^P[)_Z3P5]6
MU\G?\$Y9E;X3^(X01O76V<CO@P0@?^@G\J^L: /F[]OW_D@+_P#84MOY/7YJ
MU^E7[?W_ "0%O^PK;?R>OS5H _3#]@G_ )-]M/\ L(W7_H0KZ+KYT_8)_P"3
M?;3_ +"-U_Z$*^BZ /Q+U#_C^N?^NC?S-;OPZ\ :K\4?&6G^&-$$)U.^\SR?
MM$FQ/DC:1LM@X^5#6%??\?UQ_P!=&_F:]I_8I&?VF/!_L+S_ -(YZ +?B3]A
M_P"*_AW39+Q='M=62,;FBTVZ627'LAP6^BY/M7@\T,EO,\4J-%+&Q5T<$,I!
MP00>AK]N*^!/^"@7P;CT'7]/\>Z5:>7::JQMM3\M0$6Y RDA [NH;)]4R>6Y
M .5_8^_:0TWX3Z\NA>(-.L(='U!_+.M16R)=6S$C'FR 9>+/7=DKG(X&*_21
M6#J&4AE(R".AK\1:_3#]A_XN-\1/A0NC7TYEUCPXRVDC.V6DMR"87/T 9/\
M@'O0!]%U^?G_  4>_P"2D>%O^P2?_1SU^@=?GY_P4>_Y*1X6_P"P2?\ T<]
M'R/7[.^ ?^1$\.?]@VV_]%+7XQ5^SO@'_D1/#G_8-MO_ $4M '@/[<WP1U#X
ME^"M/\0:%:R7NLZ"7WVD"EI)[9\;]H'+,I4, .H+=\"OSA96C9E92K*<%2,$
M'TK]NJ\1^,G[(O@7XOSW&HR6SZ#X@F.Y]3TX &5O66,_*_UX8^M 'YU_#?XV
M^-?A-<;_  SKUS8P%MSV;$26TGKNB;*Y]P,^]?6WPI_X*':?J$D%CX^T?^S)
M&(7^U=+!>#ZO$264>ZENO05XK\5OV(_'_P .89[[3HX_%FD1 NT^FJ1.BCNT
M)^;_ +X+5\]4 ?M?H^L6/B#2[;4M,NX;^PND$D-S;N'CD4]"".M7*_//]@/X
MN7VA_$%O MU</+HVLQR2VT+M\L%RB%R5]-R*P([D+7Z&4 ?B3=_\?4W^^W\Z
MUO"_B;5_"[:I/H\LEO+<V,EG//&#N2"0JKX/\.[A,_[?J163=_\ 'U-_OM_.
MO>/V*_">F^.?BQJ6A:Q;K=:;?:'=PSQ-W5B@R#V8$Y!Z@@$<B@#P*ON#_@G1
M#X0FC\12"'/CF$\O,0?]".T Q#''S\/U_@YYQ7RG\8/A?J7P>^(&J>&-2#2&
MV?=;7)3:+F!LF.4#GJ.H!.&##/%5/AA\1-4^%/CC2O$VDM_I-E+N:%F(2>,\
M/&WLRY'MP>H% '[)45@> _&VE_$;PCI?B/1IO/T_4(1+&>Z'HR-Z,K J1Z@U
MOT %%%% !7QE_P %)O\ D7_ O_7U=?\ H$=?9M?&7_!2;_D7_ O_ %]77_H$
M= 'PC117Z$_LH_L__#SQM\!_#.N:[X5LM2U6Y-UYUS,7W/MNI47(#8X50.G:
M@#\]JZ#P;\/_ !)\0M2%AX;T6\UFZ_B6UB+*F>[M]U![L0*_5;3_ -G7X8:;
M(CP> ]!WH<J9;%)<'_@0-=YI^FVFDVJVUC:PV=NOW8;>,(@^@ Q0!\V_LN_L
M?V_PBGC\3>*'M]3\5%/W$,8W0Z?D<[2?O2<XW=!R!GJ?INBB@#XK_P""E/\
MR#/ '_7:]_\ 08*^&*^Y_P#@I3_R#/ '_7:]_P#08*^&* /UN_9F_P"2 ^!/
M^P7%_*O3:\R_9F_Y(#X$_P"P7%_*N"_;:^-%[\*_AO;Z;HUP;76_$$CVT=PC
M%9((%4&61".C?,B@]MY(Y H Z'XL?M<?#WX2WDVG7=]-K.LQ,4DT_2465XF]
M)&)"J?49W#TKP'7/^"DUZ\CKHW@>"% ?EDOK]I"1ZE51<?\ ?1KXL9FD8LQ+
M,QR6)R2:^D_@?^Q!XC^*WA^T\0ZKJD/AG1;Q1):[H3/<3IV<)E0JGL2<D<XQ
MC(!N7'_!1KQXW^I\.^'8Q_TTCG?^4HKYH\:>*KOQUXLU?Q#?QPQ7NIW4EW-'
M;J1&K.Q)"@DD#GC)-?<4?_!-_P ,A1YGB_5F;N5@B _+FOBCXE>%8? _Q"\1
M^'K>:2Y@TO4)[-)I0 SJCE0Q XR<9H ] _8]_P"3D?!7_7:?_P!)I:_5>ORI
M_8\_Y.1\%?\ 7:?_ -)I:_5:@#XJ_P""E(_XEO@ _P#36^_E!7PS7W3_ ,%*
M!_Q*? 1_Z;WO_H,-?"U 'ZX?LT_\D#\!_P#8)A_E7I=>:?LT_P#) _ ?_8)A
M_E7I= !7Y,_M4?\ )PGCG_K_ #_Z M?K-7Y,_M4?\G">.?\ K_/_ * M &;^
MSN,_';P#_P!AJU_]&+7Z\5^1/[.@S\>/ 7_89MO_ $8*_7:@#Y(_X*.:I);_
M  U\,:>KE8[G53*ZC^+9$P&?^^_Y5^?=??W_  4?L6D^'_A.]VDK#JCPEL<
MO$Q _P#(9_*O@&@#]/OV&]'CTS]G+09T7:^H7%W<R<=6$[Q _P#?,:U[[7@G
M[#NL1:G^SCX?@C8-)83W5M+@]&,[R ?]\R+7O= ",H92",@\$&OQ>\::7'HG
MC+7M.B&(K._GMT'^RDC*/Y5^T#NL:,[L%11DLQP /6OQ;\6:G_;7BG6=1#!Q
M=WLUQN48!WN6SC/O0!ZO^QC?-8_M)>$"&*I*US"P]0UM* /SP?PK]3Z_+C]B
M?2Y-2_:0\,.J;H[1+JXE/]U1;R*#_P!],OYU^H] 'XT_$W_DI'BS_L+7?_HY
MZ]%_8UTFSUK]HSPG!?6\=U#&UQ<*D@R!)'!(Z-CU5E4CW KSKXF_\E(\6?\
M86N__1SUZA^Q'_R<IX6_ZYWG_I++0!^HU%%% 'F'[3G_ "0#QW_V#)/Z5^2=
M?K9^TY_R0#QW_P!@R3^E?DG0!]T?\$U_^03X^_Z[V7_H,U?:=?%G_!-?_D$^
M/O\ KO9?^@S5]IT ?+'_  44MTD^"VBS$?O(]>A"GV-O/D?H/RK\ZZ_1G_@H
MC_R0_2O^P_!_Z(N*_.:@#]0?V'5"_LW^'2!C,]V3_P"!$E>]5X-^P]_R;=X<
M_P"NUW_Z4R5[S0!\"_\ !2&W1?&_@^<#]X^G2HQ]EER/_0C7Q]7V-_P4C_Y&
M[P7_ ->,_P#Z,6OCF@#]E?ACS\-?"9_ZA-I_Z)2NFKF?AA_R37PE_P!@BT_]
M$I734 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 5RWQ1\"6WQ-^'NO>%[I@D>I6S1+(1GRY!AHW_X"X5OPKJ:*
M /Q6\2>'=0\):]J&C:K;M:ZC8S-;SPL.593@_4=P>X(-6_ _C;6/AWXHL/$.
MA7;6>IV4F^-QRK#H48=U89!'<&OT7_:B_91L_C;!_;FBR1:;XOMXM@DD&(KU
M!T20CHPZ!^?0\8Q^=OC?X=^)?AOJSZ;XET:ZTBZ4D 3I\DF.Z./E<>ZDB@#]
M!/AA^W?X!\7:?!'XEFD\)ZQC$D<\;RVSMCDI(H. ?]L#'3)ZGTJ3]I3X61V_
MG'QYHA3KA;I2W_?(Y_2OR/HH ^_/C9^WUH6EZ9<:;\/%?5]5D#1_VI<0M';6
M_&-Z*V&D8'ID!>_S=#\$WEY/J%Y/=74SW%S/(TLLTC%F=V.68D]222<U$JEF
M  R3P *'5HV964JRG!5A@@^E 'J/[./P:N?C7\3+#2?+?^QK9ENM4G&0$@4C
M*[NS/]T?4GH#7ZS0PQV\*11(L<4:A411@* ,  >E?F)^RW^U!+\![VXTS4=.
M2_\ #.H3"6Y:WC474+X"[U;C>,#[C''<$9.?T4^'WQ1\+_%+1TU'PSK%OJ4)
M4-)$C@30DC[LD9^9#]10!J^*M&_X2+POK&DD[1?6<UKGTWH5_K7XO75K+97,
MMO/&T4\+F.2-A@JP."#[@U^VU?G9^VE^S?J7A'Q=J'CC0K&2Z\-ZI(;F\\A2
MQLIVY<N .$8Y8-T!)!QQD \P_9F^-0^!OQ,AUFZBEN='NH6L]0AA^_Y3$$.H
M/!9653[C(R,U^@S_ +67PF31O[2_X32Q:'9O$*J_G],X\K;OS^%?E!10!] _
MM0?M57WQPO1H^D+-IG@ZVDWI YQ+>..DDH!P /X4[=3DXQ\_5]"_LY?LB:]\
M7[ZUU;78;C0_!W$ANF 6:\']V$'L?[Y&/3)XKP75[/\ L_5KVUP5\B=XL'MM
M8C^E 'W1_P $V_\ D5/&O_7[;_\ HMJ]/_;@M9[K]G'Q$80Q6*:UDE"C.4\]
M!^A(/X5YC_P3;!_X1/QJ<<?;K?\ ]%M7U?XP\*V'CCPKJN@:FADL-2MWMI@I
MPP5AC(/8CJ/<"@#\7*_0_P#X)[^,]'O?A7>^&XYX8M:L;^6>6V+ 221N%*R
M=QP5..FT9ZBOBWXQ?!?Q'\%?%$VDZY:N;<L?LFI1H?(NT[,C>N.J]0?P)X>T
MO)["YCN+::2WN(VW)+"Y5T(Z$$<@T ?M1K6N:?X<TNXU+5+V#3["W0O+<W,@
M1$4=R37Y@_M=?&?2?C5\3H[[0HW_ +)TVT%A#<R J;G#NQD"GE5)? !YP,G&
M<#R?6O%VO>)EB35]:U'5EC.8UO;J28*>G 8G%=GK?[/_ (L\+_"H>.]<LGTF
MQEO(K6VM+E"L\JNK-YI7^%?E &>3G.,8) /-:_;#2/\ D$V7_7!/_017XGU^
MV&D_\@JR_P"N*?\ H(H ^8?^"B__ "1C0O\ L8(?_2:XK\[:_1/_ (*+*3\%
M]#(&0/$$.?\ P'N*_.R@#]1/V(?^3;?#/_76\_\ 2F6O=Z\(_8A!'[-GAC(Z
MRWF/_ J6O=Z /+?VF?AS_P +0^"_B+2(H_,U"&'[;98&3Y\7SA1[L R?\#K\
MEJ_;NOR:_:@^&K?"WXT>(-,CA,6G74OV^QXPIAE)8*OLK;D_X!0!Y8\TDB1H
MSLR1C"*Q)"@G) ].23^->D?LW_#_ /X69\:/#&C21^99"Y%U=C''DQ?.X/LV
MT+_P(5YI7W#_ ,$Y/A_MA\3^-;B+ERNE6C$=AB28C\?*'X&@#[:KF?B5X\LO
MACX%UGQ1J$4D]KIL'FM##C=(20JJ,\#+,!GWKIJ\W_:-\(7_ (\^"/B[1-+A
M:YU"XM-\$*_>D:-UD"#W.S ]S0!B_"G]J[X>_%B.*&UU9=&U=^#I>K,L,I;T
M1L[9._W3GCD"O8J_$R_T^ZTJ\FM+VVFL[N%MDL%Q&4D1O1E/(/UJ]:^+M=LK
M7[+;ZUJ,%MC'DQ74BICTV@XH ^S?^"B_B[P]>:7X9\/PS6]UXCMKI[B3RB&>
MV@*%2KD?=WMM./\ IGGTKX<H)+$D\FOH#]F3]E?6?C!KMIJVL6DVG>#+=UEF
MN9D*&] .?*ASU!Z%QP!GG/% 'W9^S'I5QHOP!\#VUTC)-_9R3%7Z@2$R+^C"
MO3ZC@ACM88X88UBBC4(D:#"JH&  .PQ4E !1110!\;_\%)/^15\$_P#7[<?^
MBTKX,K[[_P""D&GW$W@?PC>)"[VUOJ$L<LBJ2$+QC;D]L[6_*O@2@#[[_93_
M &COAQ\/O@;H.A>(/$\.FZM;O<F6V>WF<J&N)&7E4(Y5@>O>O7A^U]\(&_YG
M6U_\!KC_ .-U^4U% 'ZM_P##77PA_P"AVM/^_$__ ,;KM/ 'Q6\)?%*"\F\*
MZW;ZREFRK<>2&4QE@2N0P!P<'!]CZ5^.%?9G_!-F.4^(?'+@-Y"VMJKGMN+R
M;?T#?K0!]N^)?^1=U7_KTE_] -?BM7[5>)%+>'=4 &2;64 #_<-?BK0!]6?\
M$Y_^2PZ__P!@&3_TH@K]#Z_/'_@G,I_X6_X@;!P-"D!/_;Q!7Z'4 <7\;/\
MDC/CW_L 7_\ Z3R5^/%?L1\:E+?!OQXJ@ECH%^ !U/\ H\E?CO0!]I_\$U_^
M0IX__P"N-E_Z%/7W17PQ_P $U@?[3\?G''DV7_H4]?<] 'Y@_MS:?)9_M':]
M,ZE5N[:TF0G^)1 B9_-"/PKQ'P_K$GA[7M-U6%0\UC<QW**QP"R.& _,5]Z?
MMX? ?4_'&FZ?XVT"U:]OM)@:WO[6)<RR6V2RNH'782^1UPV?X37Y^4 ?K/X=
M_:@^&'B+P_#JP\9:38*T8=[6_NDAN(SCE3&Q#$CD?*"#VS75_#WXF^&OBKH]
MQJOA?4EU2P@N6M))5C>/$B@$C#@'HRG.,'-?C;7Z%_\ !.>PN;?X4^(;J5&2
MWN-8(A+# ;;#&&(]1DXSZ@^E '@_[>GP_G\*_&E]=6/&G^(K=+B-E' EC58Y
M5^O"-_VTKY[T#7+OPSKFG:OI\GDWUA<1W4$G]V1&#*?S K]:/CI\&=+^.'@.
MYT&^*VUXI\ZPO]FYK:8#AO=3T8=P?4 C\O\ XI?!OQ7\'M;DT[Q)I<ENF[;#
M?1J6MK@=08Y,8/';@CN!0!^EOP4_:/\ "7QFT.TDM=1MK#7BBBYT>XE"3))C
MG8#_ *Q,]&7/49P>*]7K\1*LMJEY)%Y37<[1XQL,C$?EF@#]??&7QH\"_#^-
MVU_Q5IFGNO6W,XDG/TB3+G\!6-\(/VB/"/QOO]9M/#3WC/I8C:1KN 1"57W
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
M -#CKYPO5*WDZL"")&!!^M?2'_!/P$_'J7 SC1[C/_?<5 'U#^V1\!?^%N>
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
M]@BT_P#1*5TU<S\,05^&OA,$8(TFTR/^V*5TU !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !535-)L=;L
MVM-1LK>_M6^]!=1+(A^JL"*MT4 >2ZU^R?\ "37KAYKGP1I\3MU%D\MJOX+$
MZ@?@*QH_V)?@XDN__A%'8?W&U.[Q_P"C:]SHH XKP=\%_ OP_D67P_X4TO3K
MA>EREN&F'_;1LM^M>(_M2?L=P?%*2?Q1X06&Q\5D;KFU8A(=0]R>B2_[1X;O
MC[U?4=% 'XJ:]X?U+PMJ]SI>KV,^FZC;.4EMKE"CH?H?Y]#3-&US4?#NH17^
ME7]SIM]$<QW-I*T4B_1E((K]=?BA\%?!_P 8M/6V\3Z1'>2QJ5@O(SY=S!W^
M20<XSSM.0>X-?)/CG_@G'JT%P\O@_P 46MW;'E;?64:*11Z>9&K!C_P%: /J
M']F?QKJ/Q#^!OA37M7F:YU*X@DCGG8 &1HII(MQQQD[,_C7IDD:31M'(JNC
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
M=TD[6$8=R>I8@<GW-;'A/X=>%O :RCP[X=TS1#*,2/8VJ1,X]&8#)_$UT5%
M!5+5]%T_Q!826.J6%MJ5E+P]M>0K+&_U5@0:NT4 ><O^SG\+Y)"Y\!: "3GY
M;% /R Q79^'?"^C^$=.%AH>E66CV(8L+>QMTACW'J=J@#)QUK3HH **** "L
MSQ!X9T?Q9IYL-;TJRUBR)W&WOK=)H\]CM8$9]ZTZ* //(?V=_AC!.)D\!>']
MX.1NT^-A^1&*[RQL;;3+.&TL[>*TM85"1P0($1%'0*HX ^E3T4 %%%% !111
M0!E>(_"FB^,-/^PZ[I%CK-GG=Y%];I,@/J P.#[]:Y&W_9W^&-K.LT?@+0-Z
MG(W6$;#\B"*]#HH 9##';0QPPQK%%&H1(T4!54#   Z "GT44 <UXT^&OA7X
MBVR0>)= L=92/A&NH0SI_NO]Y?P(KS0_L4_!LW'F_P#"(G'7R_[2N]OY>;7N
M%% '*>!_A5X0^&MN8O#/AZQT?<-K2P1 RN/1I#EV'U)JSXL^'7A;QX(?^$C\
M/:;K9@!$37UJDK1@]0K$9 .!G'7%=%10!R/A?X1^"?!>H"^T+PGH^E7P!"W5
MK91I*H(P0'QD CJ >:ZZBB@ KE?&WPK\(?$B)4\3>';#6"@VI+<0CS4'HL@P
MRCZ&NJHH \53]C/X-QS"4>#(RP.<-J%V5_(RXKTSPAX$\.^ =/-CX<T6QT6U
M8@NEG"J>81T+D<L?<DFMZB@ KE/%'PG\%^-;PW>O>%-'U:\("FZN[*-Y2 ,
M;R-V />NKHH Y#PU\'_ _@Z_2^T3PCHVEWR A+JVLHUE4'KA\9'YUU]%% !1
M110!Q'C/X(^ _B%(\OB#PIIFH7#G+71@$<Y^LJ8?]:X5OV*?@VTP?_A$2!_<
M&IW>T_\ D6O<:* /./"O[.7PS\%SB?2O!>EQS@Y6:XB-RZGU5I2Q4_2O1@ H
M  P!T%+10 4444 <7X@^"W@+Q5J$M_J_@W1+^^E.Z2ZFL8S+(?5FQEC]:N^%
M?A?X0\#3O/X>\,:3HUPZ[6GLK...1E]"X&2/;-=/10 4444 1SP1W4$D,T:S
M0R*4>.10RLI&""#U!%<#/^SS\,;B9I7\!>'][')VZ?&H_(#%>A44 97AWPKH
MO@_3_L.A:18Z-9[MWV>PMTA0MZD* "?>M6BB@"CK6AZ;XDTZ73]6T^UU2PE_
MUEK>PK-$^.F58$&N)7]G;X8)(''@'P_N!SSI\9'Y8Q7HE% %;3=-L]'L8;+3
M[2"QLX%V16]M&(XXU]%4  #Z59HHH Q?%'@GP_XVM8[;Q#H>GZW!&2T<>H6R
M3!">I7<#M/N*YFR_9_\ AII]PD\'@/P^LJ'*LVGQ-@^HR#S7H%% "*H50J@
M 8 ':EHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** .5^*7P_M_BEX!UCPM=WEQI]OJ4:QM
M<VN-Z;75QUX()4 CN"1QUKY2_P"':MOYV?\ A84OE?W?['&[\_/_ *5]KT4
M>-? /]E[PW\ Y[Z^T^[N]6UB]B$$E[=[5"1Y#%$11P"0I.23\HZ5[+110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %4==T>W\1:'J&E7>[[)?6
M\EK-Y9PVQU*M@]C@FKU% 'Q;J'_!->PDNF:R\>W-O;Y^6.XTM97 ]V$J@_E7
MM/[/'[,.D_L^MJES;:Q=:UJ&HHD4LTT:Q1JBDD!4!/))Y)8]!TYS[310 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%<-9_&[P3
M?^+?^$9M]<2;6_/:V^S);RD>8N<KOV;.,'OVKN: "BBB@ HHHH **** "BN%
M^(WQJ\*?"_9'K5^3>N-R6-JOF3E?4C.%'NQ&>U<9X=_:[\#^(M8M=.6#5K&2
MYE6&.2ZMDV;F.!DI(Q R1VH ]MHHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHJ&ZNX+*$RW$T
M<$0X+RL%7\S0!-138Y%FC5T8.C#<K*<@@]"#3J "BBB@ HHHH **** "BBB@
M HHHH **XKXI?%O1/A'I=I?:S'=SK=2F**&S17<D#).&91@?7N*V/!'C"S\>
M^%;#7["&X@L[U6>..Z4+( &*\@$CJO8],4 ;M%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !17#W'QL\%6OC!?"\FMJ-=:X6U%JMO,W[UB $WA-N<D#K7<4 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1165XG\4:7X-T6XU?6;Q;'3H-OF3,K-C
M)   4$DDD< 4 :M%<WX(^(OA[XC6=Q=^'=0_M&WMW$<K^3)%M8C.,.H/2NDH
M ***ANKN"RA,MQ-'!$."\K!5_,T 344V.19HU=&#HPW*RG((/0@UQ%G\;O!-
M_P"+?^$9M]<2;6_/:V^S);RD>8N<KOV;.,'OVH [FBHKBZALX6FGE2")?O22
M,%49..2?>G1R)-&DD;K)&X#*RG((/0@^E #Z*** "BH+J]M[",27,\5O'G;O
ME<*,^F34RL&4$'(/((H 6BBB@ HHHH **** "BBB@ HK.\1:]:>%]!U#5[YB
MEG8P/<2E<;MJJ20 >I., =R17(?"GXU:)\8#J?\ 8UGJ-NNG^7YK7T<: []V
MT+M=L_<- 'H%%%% !1110 4444 %%%% !1110 4444 %%</X;^-G@KQ?XB_L
M+1];6]U3Y\0K;S*#M!+89D"G ![UW% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !17#^)/C9
MX*\(^(O[!U;6UM=6R@-N+>:0@N 5!94(&01U/>NXH **** "BBB@ HHHH **
M** "BJ]U?VUCL^TW$-OO.%\UPNX^@SUJQ0 4444 %%%% !1110 4444 %%8/
MC/QUH?P]TE=3\07ZZ=9-*(%D,;R9<@D* @))PI/3M3_"/C+1_'FC+JNA7GV^
MP9VC$WEO'\PZC#@']* -NBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHK#\;>*K;P/X2U77;O'DV,#2[
M2<;VZ(GU9B%_&@#@OCC^T!IWPCMDLX(EU+Q#<)OBM"V$B7H'D(YQGHHY..W6
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
M=4NYK[4)+&.::>X<O(S.-^&8\DC=C\*^-_CU._CS]H:^TZWW/NN[?2X@.3N
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
ML7X+ZI$!^\U":&S4YQC+AV^ORHP_&N<_8MT-;'X;ZEJ9!$M_J#+GMLC10O\
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
M6BN-^$OQ!?XH>";7Q"^F-I*W$DB) 9O-R$8KN#;5SR".G:NODD2&-Y)'6.-
M69F.  .I)]* 'UC>,O$T'@OPIJVN7*^9#86SSF,'!D('RH#C@L<#/O7DOPI_
M:>'Q3\=+X?@\--90M'+*+PWOF$*@X)3RQC/ ^]QFO(/BQ^U@?B'X/U7PW:>'
M?[/AO&5?MCWOF-Y:R!ON>6,$[0.IQD]: /=O@?\ 'Q_C/?:M OAYM)BT^.-V
MF^U^>&+D@+_JUP?E8]^AKURO@?X'_'Z/X,Z=JEN/#W]KRW\J2--]M\C:%! 7
M'EMGJ3G/>OIOX>_'B3X@?#OQ1XG;0VT:+1XY2F^X\Y)62(N<-L7D<9&.XH ^
M;+/'Q*_:H##-S;S:Z7'?=!"Q(_#9'^5?>%?!/[-NM:5X5\::EXMU^[^S6.EV
M<C!MNYY9Y#M6-1W8KYA_ YP,D=[K_P"V?XBN[B>7PYX9M8]-B/,NH+),V/5M
MC*%^F3]: /KFBO!_@1^TT/BAK1T'6;"'3M8=&DMY+4L8I]HRRX.2K  GJ00#
MT[^XWEY!IUG-=74T=O;0H9))I6"JB@9))/04 3T5\Q>//VT+>QU"2S\):2NI
M(C;?MU\65).WR1C#8]R0?:N4_P"&R?'6GS(VH^'=)2%NB_9YXF/T+2'^5 'V
M117G/P=^.&C?&"QG-I$^GZI;#=<:?,P8JI. RL -R^^ 0>HZ9D^-7Q>@^#OA
MNUU.33SJD]S<BWCM1/Y.?E9BV[:W P!T_B% 'H5%> ^(OVM-,T7P'H^JKI>_
M7]4B>6/21<;EMU#LJO(^T<';D# )SVZUD_!3]I7Q5\1_B):>']3T?38+6:.6
M1Y;6.5'B54+ G<[ Y.T=OO4 87[0'P/^(/Q%^*EUJ&G6*WFBF.&*UFDO(T6%
M0B[QM9MP^?>> <YKZ?\ #.DMH/AO2M,>3SGLK2*V:3^^40+G\<5X]\._VH(_
MB'\28O"UMX<>W@D:8+J!O0_RQHS!C'Y8Z[0/O<9JY\;/VCXO@[XBLM(&@MK$
MUQ:B[9_M?D!%+LH'W&R<HWIVH ]GHKY4_P"&Z/\ J2?_ "K?_:*W? O[8#>-
MO&&D:$O@\VQU"X6#SEU+S/+!/+;?*&<#GJ.E 'T=17'_ !*^*F@_"O11?ZS<
M-YDF1;V<(W33L.H4>@[DX ^I /SM<_MA^,M<NY?^$;\)6CVZ'[LD4UTX'N4*
M@?E0!]<T5\L>"?VSK@ZRECXST2&QA9@CW5@KJ8#ZM&Y)(]<'('8U]0I=P26J
MW*31O;,GF"96!0KC.[/3&.<T 345\T?$C]LBUT?5)-.\(Z=%J[1,4>^NB1"S
M D8C53EA_M9'T[US>C_MG>)=-U*%?$WAJS-F_+"S26"7;ZKYC,#]./J* +W[
M<.N*9/"VC(3O437<@[8.U$_D]>U?L^Z"?#OP<\+VS1B.26U^U/ZDRL9 3[X8
M?EBODCX^^,[;XM?%:TDT>X-S9/;VMI:MLP07^8J1ZAY&!]QCM7WCIMC%I>GV
MME "(+:)88P>NU0 /T% %FBBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ KYT_;6\1/8>"-%T=#M_M&\:5_
M=(E''_?3J?P%?1=?(O[<4SMKWA6(LQC6VG8+G@$L@)_' _(4 =Q^Q?X;33?A
MUJ&L%2)]4O2N[L8XAM7_ ,>:2OH*O+_V955?@;X7"C \N8\>IGD)_6O4* "O
ME+]N+5HVD\)Z8I/FJ+BY=?0'8J_R?\J^K:^ OCAXDF^+WQJFM])S=Q"6/2K
M*<A\-@D>Q=F.?0T >Z?"^8>!_P!DB^U20E9)[2\G7:,$.[-''W]0AS[U\X_!
MCX<W_P 5/%BZ%!,]MII N-0F7^")#Q]22V /4Y[5]*?M->3X!_9_T_PW9R*L
M4DEKIP  5G2-=Y;'N8U)/JWO2?L7^&XM/^'NHZR4_P!)U&]*;\?\LHU 4?\
M?324 >U^$_!^C^!]'ATS1;&*QM(P!B-?F<_WG;JS>YKX7\>:8L/[2%Y9:3&L
M);78A"D*C"R-(AX _P!HGBOT 9@JDDX Y)-?"7P95OB)^TI;ZG+RDFH7&J-@
M9QMWNG_CVP4 >V_M=?%*?PEX7MO#FFS-#J&L*QGDC;#1VXX(_P"!GCZ*WK5+
M]E'X+V.E^'+7QCJUJEQJMZ?,L1*N?LT0. X']YNN>PQCJ:\;_:;OY_%7QWO[
M""0S>1]GT^W#$X!**2O/0;W;^==C:_ ?XX1V\-BGBJ>WLU40K'_;DXB2/&,;
M1_"!V Z=J /ICXD^)/#OAOPCJ,WB:6W_ +-D@=&M9V&;GC_5JO5B>.G3.:^1
M?V.].O+KXM&Z@5OLUK8RFX8' VMA5!]<L0<?[)/:NNTS]C'Q#JUZ)O$WBNW(
M_B:U$EQ(WMNDVX^O-?1?P\^&F@_"_13INA6IB1SOFN)3NFG8="[8&<=@, 9.
M!R: .JKQ[]K#7?[&^#&I1#A]0GAM%/IEMY_\=C8?C7L-?+/[<&O!;7POHJ/R
MSS7DD?T"HA_62@#S3]G/X.-\5]:>34VD'AG2Y/,FC5L>=*P&(QZ9"C<1V '&
M0:^Y-/T6PTG34TZRLH+6P1=BVT486,+W&T<5Y_\ LW^&$\+_  =T"/R]DU[%
M]OF)ZLTOS*?^^-@_"O2W=8T9W8*JC)9C@ >M 'Y^7\$/@?\ :0\K3(_)MK'Q
M"GDPJ< )YP^3Z8)7Z5[O^VUKIM/!.@Z2IP;V^:<^I6),8_.1?R%>+>!F/Q+_
M &FK6_MTWP7&MOJ(!/ BC<RC/_ 5 KI/VT=<&H?$;3-,1BRV%@I9?221V)_\
M="4 >M?L_7-M\-/V<3XAO?\ 5-]HU*1,X+'=L10<=6\M0/\ >KPGX/\ A"[_
M &@OBU>ZGX@=KBSC8WNH,"0&R<)"/0'ICLJG%>O?M"Q2>!_V:?#^@IF%I&L[
M&9.A.V,R-G_@<8-7/V*]%CL_AWJVI[?W][J!C+>J1HNW]7?\Z /?+/3;33["
M.QM;6&WLXT\M+>- J*OH%'&*^'?VKO >C>!_B#;MHT:VD>I6WVN6SC7$<3;R
MN4'8,03CH#G'' ^ZZ^"OCMK'_"SOCY-8V4C3PBYATBW*MN!PP5MOMYC.?QH
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
M.@:XGVGI)+C"GW"J#_P.@#TK]C701IOPKGU!HBLFI7\D@D.?FC0*@Q[!E?\
M,U\M^++R_P#'WQBU=](#R7>J:I+#:@'DJ[E%&>PVXY[5]F>$_P#BVO[.=I/Y
M@CEL=#:\R1C$K1F7'_?;8]Z^>/V-?#::Q\2KW59U+C2[-GC/I+(0@)_X#YE
M'T[\)/A'H_PG\/0VEG#'-J<B#[9J!4>9,_&0#U" ]%_KDU\^?M@>/!#J-GX%
MTE8[6RMP+N^BMUV!Y7.Y%('H#N]RX/:OKZO@6/9\0?VGOWZF:VNO$!RC_P 4
M,<G"G_@" 4 ?4OP ^#EC\,O"-I/<6B'Q'>1B6\N)%!>,D9$2G'RA1P?4Y/IB
MS^T!\/\ 1/&GP[UBZU.)(;O3;26[M[Y5'F1%%+;<]U.,%??UQ7IE>-_M7>+H
MO#?PCOK+>!=ZO(EI$N[!VY#2''<;5Q_P(4 >%?L9Z$-1^)]YJ#@[=.L'93_M
MNRH/_'2]=]^V<FEZ+X3T>UM--L[:]U&^::2XB@59&5%.X%@,G+2*?PJ?]B/0
MC;>%/$6L,H'VN\2V4]\1)N/X9E_2N#_;3UW[?\0]*TM'+K86 9E_NR2.2?\
MQU4H ]<_9=^'^E+\']-O-1TJRO+B_FFN=]Q;I(P7?L498=,)G\:H_M0^.[?X
M8^"XO#_AZ"#3+_6RWF-9HL1CA  =OE Y;(7/IN]*]B^'^A?\(QX&T#2O+\M[
M.QAB=?\ ;"#<?J6R:^-?VL-1N-<^-USIP8O]C@M[2).PWH)/YR4 >H_LG?!:
MPAT&'QGK%HES?73$Z?',H988P<>8!_>8@X/8 8ZU[QXZ\1:!X:\,WUSXDGMX
MM+:)DDBG(/G@CE%4_>)Z8%?+UI\!_C?;6L-C#XIGMK*-%A2%=<F6*.,# 4*.
MB@<8 Z5;T_\ 8S\2:Q>K+XE\66Q7^)K?S;F0^P,@7% '%_LEV<]U\9[>ZMD9
M+.UMKB6=L_*D90JH)_WF7\JJ^*-2O_VD/CI'9VTKK837'V:U[B"U3):3&<9*
MAG/J3CTKZ1\1>!]#^!GP0\5CP_;LD[6+I+>3-NFE=QL5F;CIOX P!Z<G/CW[
M$>AK=>,/$.K-&K_8K-(%8X^5I7SD>^(F&1V)]: /JOPCX/TGP-H=OI.C6B6E
MI"N,*!N<]V8_Q,>YKYM_;,\ :%IMCIWB>UC6SUB[NOL\\<2X6X7:S&1O]H$
M9[[N>E?5E?'O[;'BR.^\3:'X?A<,=/@>XG"]GE("J?<*F?\ @= 'H_[&>@C3
MOA?=:BR;9-1OY&#_ -Z- J#\F#U[W7$?!/0_^$<^$WA6Q/WA8QS./1I/WC#\
MW-=O0!\J_MF?$R:%K+P78S,D;H+O4-AQO&?W<9]N-Q'^[Z5Z+^SK\%=/\ >%
M+'5;ZSCE\27T8GEGE3+6ZL,K&N?NX'4CDG/8"OFWQ5&?'G[4-S9W;-)%-X@6
MR?//[J.41D?]\I7WO0!F^(?#>E^+-*FTW6+&'4+&4?-#,N1]1W!YX(Y%?*/[
M2^K6/PT\+:/\,?#.ZVL-IO;[]YND<,Y*(Y[Y;+'/8)VK[ KX(^)2O\0/VF+N
MPF.Y+C6H=-P>@176(_H": /HS]FCX-V7@7PC9:Y>VROXBU&(3-+(H+6\;#*Q
MKZ97!/?)QVKL_C!X T/Q]X*U&#68E3[-!)/#>J@,MLRJ3N4^G'*YP1^==NJA
M5  P!P *\Q_:0\7)X1^$6N.)-EUJ$?\ 9\ XRQDX;'T3>?PH ^8/V1]!.L?&
M.TN3&'CTVUFNFW= 2OE@_7,@_+/:O0?VX=<4R>%M&0G>HFNY!VP=J)_)Z=^P
M]H8_XJG66!W?N;.,]L?,[_\ LE<)^U%?2^+OCPVDPR"4VZ6VG1!>0&;#D<=]
MTI'X8[4 =M^S#\";?Q!9P>,_%$ O8?N:;8SC<A5/E\QE/49!"@\<$^E?1OC_
M $"Q\0>!=:TR\MTDM)+.0;"O"D*2I'H00"/3%:VBZ3;Z#I%EIMHNRULX4MXE
M/4*JA1^@KG_BSX@B\+_#/Q+J4K;1%8RJA'_/1UV(/Q9E% 'R+^Q[J4UG\8(X
M(V(BN[&:*1>Q PX_5!47Q=\2:A\>/C9#H>FR[[&.Y_LZP7)*  XDF/U(+9_N
MJ!VIW[,MK+ILWCCQ4@91HF@W#QR XVS,I*?CB-ZT/V,]%CU+XIW=_,"QL-/D
MDC/I([*F?^^6>@#ZW\!^ ='^'/A^WTG1[988HU'F3;1YD[XY=SW)_3H*\+_;
M(\ :(OABV\5QPI::RMTEJ[Q*!]I5@Q^?U8;20W7''ICZ7KY0_;;\71R2^'_#
M,,NYX]U_<(K< D;(\CUQYGX'WH Z']B70C:>"=>U9A@WM\L ]2L29S^<C?D:
M\$^/^LS^)?CAX@>V#22Q7:V4*1@D[HPL> /4LI_$U]<? '3XO!OP+T.:X4Q+
M]DDU&=L<E7+2 _\ ?!7\J^8OV:]'/CKXZP:C=Q^:MJTVJRY_OY^4_A(ZG\*
M/I3X&? G3?ACHT%Y?6\=WXHG7?<7;X<PD_\ +.,]@.Y').><8%<Q^V=H-E=_
M#FRU9X%_M"TOHXXY\?-Y;JVY,^F0I^H^M?0-?.G[:_B!+/P+HVC@CS[Z^\_K
MSLB0@\?[TB_E0!)^Q;K!D^&VL6LS;8K/46<2,V JM&A(]@"I.?\ :KQCX&J?
MB!^TA;ZI<%G5[RYU1R..0'=?H-Q6O3_A+YG@/]DOQ)K$B;9+];J:$YP?G"VZ
M'_OI<_\ ZZPOV(-#:;Q%XFU@X"V]K':#U)D?><?]^A^8H Z[]MK73:>"=!TE
M3@WM\TY]2L28Q^<B_D*ZW]D_0_[&^#&FRGA]0GFNV'IEM@_\=C4_C7AO[:.N
M#4/B-IFF(Q9;"P4LOI)([$_^.A*^B]2Q\,_@!*A!AETS0?*QW\[R=H_-S^M
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
M] *Y.']AF-9 9?&C.G=4TP*?S,Q_E0!'\=/VK+2_TRYT#P5+)*;A3%<:MM*
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
M5XRRKF0_AF-?S]Z]PKA/BI\'=&^+UII]OK-U?VR63O)']AD1"2P .[<C9Z4
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
MH&E&9[.UWE9+@AI'+,6)8@ $Y/IT KH: "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH RO%EQ=V?A76;BPBDGOXK*9[>*$$N\@1BJJ!U
M).,5\M_LD_#'7=&\?7^L:YH6H:7%;V31P/?6SP[I'91\NX#/RANGK7US10 4
M444 %%%% !1110 4444 %<K\4=2UW2? .L7?AFV>[UV.)?LL4<0D8L74$A3U
M(4DX]JZJB@#XB\13?''XO6\6AZEH^JQV3NI>*33_ +%"Q!R"[,JY ZX)QQTS
M7TK\"?A%%\(O")LY9$N=7O'\Z]N(\[2PX5%S_"HS]22>^*](HH **** "BBB
M@ HHHH **** "BBB@ HHHH Y#XK>']?\5^";[2/#E];:=?7@$,EQ<EP%B/WP
MI4$AB..G0GOBN>^!OP1LO@_H\V^2._UR[_X^;U5( 4=(TSR%'4^IZ]!CU"B@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ KX]^*OP_P#$OQ _:05_[ U0:']KM;<WS6DA@$*A
M/,??C;C.\]:^PJ* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#C/C%X3
MU'QS\-=<T/29HX-0O(T6-I6*J<2*S*2!QN52OXU\MZ3J'Q[^&,9TRVT_6;JU
MB.U8S9_;XUZXVN V![ XK[7HH ^*M8C^._Q@A&DZAI^I6VGRG]Y#-:K80D _
MQDA2PR,X.?85] _ ?X&VWP?TFX>>>._UR\Q]HN8P0B*.D:9YQGDDXR<<<"O5
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** /*/VG;?6-0^$E_I^BZ;=:I<WL\,3PV<+2R",/O+;5!.,H!^-<]^R)
MX$U+P?X*U:XU?3[G3+^^O>+>[A:*3RD0!20P!Y+/^5>\44 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !7SM
M^V)HWB'Q)H_AK3M$TC4M6A^T37%PMC;23!&555"VT''#OC/O7T310!Q'P3\,
MW'@_X4^&M*NHC!=16OF31,"&1Y&,C*1Z@N0?<&NWHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBH;RZCL;:2>4D1QC<<#- $U%8G_"6V9Y$5R1_UQ-+_P )
M99_\\KK_ +\F@#:HK%_X2RS_ .>5U_WY-'_"66?_ #RNO^_)H VJ*Q?^$LL_
M^>5U_P!^31_PEEG_ ,\KK_OR: -JBL7_ (2RS_YY77_?DT?\)99_\\KK_OR:
M -JBL7_A++/_ )Y77_?DT?\ "66?_/*Z_P"_)H VJ*Q?^$LL_P#GE=?]^31_
MPEEG_P \KK_OR: -JBL7_A++/_GE=?\ ?DT?\)99_P#/*Z_[\F@#:HK%_P"$
MLL_^>5U_WY-'_"66?_/*Z_[\F@#:HK%_X2RS_P">5U_WY-'_  EEG_SRNO\
MOR: -JBL7_A++/\ YY77_?DT?\)99_\ /*Z_[\F@#:HK%_X2RS_YY77_ 'Y-
M'_"66?\ SRNO^_)H VJ*Q?\ A++/_GE=?]^31_PEEG_SRNO^_)H VJ*Q?^$L
ML_\ GE=?]^31_P )99_\\KK_ +\F@#:HK%_X2RS_ .>5U_WY-'_"66?_ #RN
MO^_)H VJ*Q?^$LL_^>5U_P!^31_PEEG_ ,\KK_OR: -JBL7_ (2RS_YY77_?
MDT?\)99_\\KK_OR: -JBL7_A++/_ )Y77_?DT?\ "66?_/*Z_P"_)H VJ*Q?
M^$LL_P#GE=?]^31_PEEG_P \KK_OR: -JBL7_A++/_GE=?\ ?DT?\)99_P#/
M*Z_[\F@#:HK%_P"$LL_^>5U_WY-'_"66?_/*Z_[\F@#:HK%_X2RS_P">5U_W
MY-'_  EEG_SRNO\ OR: -JBL7_A++/\ YY77_?DT?\)99_\ /*Z_[\F@#:HK
M%_X2RS_YY77_ 'Y-'_"66?\ SRNO^_)H VJ*Q?\ A++/_GE=?]^31_PEEG_S
MRNO^_)H VJ*Q?^$LL_\ GE=?]^31_P )99_\\KK_ +\F@#:HK%_X2RS_ .>5
MU_WY-)_PEMF.3%<@?]<30!MT5#9W4=];1SQ$F.0;AD8J:@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HJEJ6K0:4L;3[SYC;55%+$U2_X2RT_P">5U_WY- &U16+_P )9:?\
M\KK_ +\FC_A++3_GE=?]^30!M45B_P#"66G_ #RNO^_)H_X2RT_YY77_ 'Y-
M &U16+_PEEI_SRNO^_)H_P"$LM/^>5U_WY- &U16+_PEEI_SRNO^_)H_X2RT
M_P">5U_WY- &U16+_P )9:?\\KK_ +\FC_A++3_GE=?]^30!M45B_P#"66G_
M #RNO^_)H_X2RT_YY77_ 'Y- &U16+_PEEI_SRNO^_)H_P"$LM/^>5U_WY-
M&U16+_PEEI_SRNO^_)H_X2RT_P">5U_WY- &U16+_P )9:?\\KK_ +\FC_A+
M+3_GE=?]^30!M45B_P#"66G_ #RNO^_)H_X2RT_YY77_ 'Y- &U16+_PEEI_
MSRNO^_)H_P"$LM/^>5U_WY- &U16+_PEEI_SRNO^_)H_X2RT_P">5U_WY- &
MU16+_P )9:?\\KK_ +\FC_A++3_GE=?]^30!M45B_P#"66G_ #RNO^_)H_X2
MRT_YY77_ 'Y- &U16+_PEEI_SRNO^_)H_P"$LM/^>5U_WY- &U16+_PEEI_S
MRNO^_)H_X2RT_P">5U_WY- &U16+_P )9:?\\KK_ +\FC_A++3_GE=?]^30!
MM45B_P#"66G_ #RNO^_)H_X2RT_YY77_ 'Y- &U16+_PEEI_SRNO^_)H_P"$
MLM/^>5U_WY- &U16+_PEEI_SRNO^_)H_X2RT_P">5U_WY- &U16+_P )9:?\
M\KK_ +\FC_A++3_GE=?]^30!M45B_P#"66G_ #RNO^_)H_X2RT_YY77_ 'Y-
M &U16+_PEEI_SRNO^_)H_P"$LM/^>5U_WY- &U16+_PEEI_SRNO^_)H_X2RT
M_P">5U_WY- &U16+_P )9:?\\KK_ +\FC_A++3_GE=?]^30!M45B_P#"66G_
M #RNO^_)H_X2RT_YY77_ 'Y- &U16+_PEEI_SRNO^_)H_P"$LM/^>5U_WY-
M&U16+_PEEI_SRNO^_)H_X2RT_P">5U_WY- &U16+_P )9:?\\KK_ +\FC_A+
M+3_GE=?]^30!M45B_P#"66G_ #RNO^_)H_X2RT_YY77_ 'Y- &U16+_PEEI_
MSRNO^_)H_P"$LM/^>5U_WY- &U16+_PEEI_SRNO^_)H_X2RT_P">5U_WY- &
MU16+_P )9:?\\KK_ +\FC_A++3_GE=?]^30!M45B_P#"66G_ #RNO^_)H_X2
MRT_YY77_ 'Y- &U16+_PEEI_SRNO^_)H_P"$LM/^>5U_WY- &U16+_PEEI_S
MRNO^_)H_X2RT_P">5U_WY- &U16+_P )9:?\\KK_ +\FC_A++3_GE=?]^30!
MM45B_P#"66G_ #RNO^_)H_X2RT_YY77_ 'Y- &U16+_PEEI_SRNO^_)H_P"$
MLM/^>5U_WY- &U16+_PEEI_SRNO^_)H_X2RT_P">5U_WY- &U16+_P )9:?\
M\KK_ +\FC_A++3_GE=?]^30!M45B_P#"66G_ #RNO^_)H_X2RT_YY77_ 'Y-
M &U16+_PEEI_SRNO^_)H_P"$LM/^>5U_WY- &U16+_PEEI_SRNO^_)H_X2RT
M_P">5U_WY- &U16+_P )9:?\\KK_ +\FC_A++3_GE=?]^30!M45B_P#"66G_
M #RNO^_)H_X2RT_YY77_ 'Y- &U16+_PEEI_SRNO^_)H_P"$LM/^>5U_WY-
M&U16+_PEEI_SRNO^_)H_X2RT_P">5U_WY- &U16+_P )9:?\\KK_ +\FC_A+
M+3_GE=?]^30!M452TW5H-561H-X\MMK*ZE2*NT %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 5E^)O^0#>_]<_ZUJ5E^)O^0#>_]<_ZT 7;'_CRM_\ KFO\A4]06/\ QY6_
M_7-?Y"IZ "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "H+[_CRN/\ KFW\C4]07W_'E<?]<V_D: *7AG_D V7_
M %S_ *UJ5E^&?^0#9?\ 7/\ K6I0 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!BZ[_P A+1O^
MNY_E6U6+KO\ R$M&_P"NY_E6U0 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 8NA?\A+6?^NX
M_E6U6+H7_(2UG_KN/Y5M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 5GZ]<26NCW<L3%)%3(8=JT*
MR_$W_(!O?^N?]: +]K(TEK"['+,BDGWQ4M06/_'E;_\ 7-?Y"IZ "BBB@ HH
MHH S==E>&T0QNR-Y@&5..QKGH-4N;E4:)[J0.HD7!/*GH<9Z5O>(O^/*/_KH
M/Y&O-!X+M)/&WA_Q5(^IPZCI=A]A:WMYE$$ZXXW#/0$MQWXSTK2-C*6YV7VJ
M_P"N+S\FH^UWYYQ>?DU<E-X5$LE]-_;'B);FXG^T1S"Y7-N<G*QC. IW$8(/
M&/2H8/"ES]B@BNM?U^[N(Q_Q\O*@8G?N[-TX QUP.M5==A67<[,W5^.JWGY-
M2?;+_P#NWGY-6-X?L5\/ZA=7"3:I=13(J""YE5U3;W&6Z_YYXKH/^$@7_GSN
M/_'/\:+KL%B#[9?_ -V\_)J8=4N%D:-Y;B*15WE9"0=O//Z&K0\0*/\ ESN/
M_'/\:PH[()/.T*W"QNC?\?4WF-O9V<@$DX4;@ .PXH^0&FNIW3>7A[DF0;D&
M3EAZ@9J3[5?_ -V\_)JY#_A&F?Q]I_B9YIR+6U2W%D8489",I(??D9+ \#G%
M1MX/DVL8O$'B:&5IVG$PN8RR[@ 4&> OH,<9HT[".S^UW_I>?D?\:/M=_P"E
MX/P-<5;^#[NWN(I?^$L\6RJC(QBDNHBC8Z@C'0]ZMZ=X<ET[5+:]&N>(YUA8
M$VLUPAA<9^Z5ST_P^M%_(=CJOME__=O/R:D^V7_]V\_)JG_X2!?^?.X_-/\
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
M$7_?8H^W6W_/Q%_WV* )Z*@^W6W_ #\1?]]BC[=;?\_$7_?8H GHJ#[=;?\
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
MU^IE?C+\/?AO9_!__@KAX,\$V.UK?0H--L?,7_EJZ>'8@\GU=]S'W8U]G?\
M!1KP9X.\:Z3X0MO%_P =Y?@_IL,LS75A'<._]JPE0.+9'4NR,  ^&"B1N#D4
M ?9E%?SZ?$W6O /[,_B[PSXA_9H^-VN>(;P,_P#::2V=S9-"Z%=F=T4:3129
M<%"&QMYR&X^]?^"OFM2>)/V+/AWJTT:Q2W_B73KIXTSM5GTV]8@9[ F@#]%J
M*_(;P#^PIX]_;"_9FTKXE^./BKJ2:@FCE/#F@30&2T@M[5###O\ G 4RB+)9
M%S\^\[B2*]._X(Q_&WQ7XX\-^/O!7B'5KK6=-T#['=:9)>3-+);+-YJR1!F)
M.S,2%5Z*2V.M 'Z5T5^4_P"UU\)_@-XH^/?BS5/BK^U'J%OI[W :W\)Z>)M2
METI]JB2+*B98P'W$1B-2H//0UP'_  3I^+5]\/\ ]MRW^%O@OQ]?>-OA1K/V
MV"U>\CFAB=(K26YBF2"4 Q2 Q>6V% 8;NHVX /V7HK\COC_>:Q^U?_P4L/P1
M\;>+-4\._#NSN/LL.E65UY*RA+'[0"%.4,LS' 9@2%8 <@ ^*_&']D;P)\,_
MV_O!WP?TNZU3Q!X1UF]TV*Z@%RGVVT6Y?;(C2*F/D7$N=H.PC/\ >H _=NBO
MRE_X*@?M!:S\-=?\"_L_>#_$-QX,\)6VDV;:KJ<#R&;R2QABC=H_WA2..+>R
MKR^X#!Q@_,WQ+C^#GP*T?3/%_P"SW^T-XDU?X@VUY$;NUFTR[LOM"X):57:!
M$P&ZQR%PRN1DXPP!^^=%?FW^VE\6+KXX_P#!+'PUXYOXDAU'6)M-ENUB7:GV
MA96CE*CLI=&('8$5XE\%?V*_''[9G[+-CXX\4_$V]L;+1].DTWPEX?6W\RSC
MALP8P9!N !9T="P!88!)( 0 '[(T5^'W[#?@KXH_MH:1JGPGU#XIZWX?^&?A
MU!J5W% [2S2O*1''; EA^Z^1WVL2BD$[23D='^R[:^+_ -C;_@H];?!FW\4W
M6K>'9;[^SKRW!*6]W#/:"X@E,)8JDB[XFR#D$,,X)! /V>HK\F?^"HG[3FN:
MI^T%I/P4M_&4_@/P+9K9MXAU.S65W+3X=GD6']Y)''"Z,(E^\Q.<_+M^<OB-
MK/PM_9LN/#WB_P#9G^/?B+7/$T-\%O\ 3KS3KFU#1[6;S27@BCDCRH1HGW$^
M8.H!H _?.BOS+_X*??$(_%C_ ()[_"#QFT M9->UO2M1D@7I&\NF7C.H]@Q(
M'TKSKP#^PIX]_;"_9FTKXE^./BKJ2:@FCE/#F@30&2T@M[5###O^<!3*(LED
M7/S[SN)(H _7FO =(_;$\-:]^UGJ?P&L=+O)]:TVR-U<ZL'3[,K"))3$!]XL
M!(H)Z9R.U?'G_!)'XH>+_C%\,/BQ\,=;\4ZNME8V4*Z3JT-TQOM+%S'/$_D2
M-DKL*(Z#HK G'-?*/P3_ &3-"^-/[<OCKX1:YXAUH:7I6HZS"-622-[V<VMP
MT:O(SJ5+,!ECCJ>U '[WUQ_Q>^*.C_!7X9>(_'&O^<=)T.T:ZF2W4&23& J(
M"0-S,549(&6&2*ROV>_@EI7[.?P?T#X>:)?7FI:7H_VCR;K4"AF?S;B2=MVQ
M57AI2!@= *Y']MGQ%\/M!_9G\:P?$S4Y=+\,ZI9MIPDM8Q+<O<."81!&2 \H
M90X!('R$DA02 #X9?_@J5^T/K7AB_P#B1H7P6T?_ (558W/DW%]-#=S-'\P4
M@W*R(O5D!81$ GGTK] _V8/V@M+_ &G/@SHGC[2[";2EO?,AN=/G8.UM<1L5
MD0.  ZY&0V!D$9 .0/PC^'OQU\>S?"FR^!<WBVV\'?#+Q'JPGN=4U"T?:D;.
MHD!D16;R0Z!F5?X@06"EJ_56X_: ^#?_  3'^$OPY^'5P^M^+AJ%G-?QW?A^
M&WG>Y+.&>Y??.@"2.["/:6XC(S\N2 ?;M?*'[=7[>&G?L>Z?HNG66B#Q-XRU
MM'FM;&28Q0V\*D+YTI +$%CA57&[:WS+CGZCT?4#JVDV5\;6XL3=0).;6Z4+
M-#N4-L<*2 PS@X)&0>37P;_P4[_8W\=_'+4?"GQ'^&W_ !,?$?AN#[-+HX=4
MFDC64RQRP%L*75BV4)Y&,9(P0#S>W_X*/?M4^#I+/4_&_P"SMGP_=,GE&UT;
M4K%SN.%7SI&E4,<C *@^U?I]I\UQ<:?;2W=O]CNI(E:6W$@D\IR 63<.&P<C
M(ZXK\V_@/_P5LNM*\2VO@?\ :"\(7'@_6XW6VGUR&W>!8W/&ZZM7&^(="60L
M.<[%'3I_^"M'[5?B3X.^ ?"GA'P/JKZ5?>+EN)[O5K&3$T=G&(P%B<'*^89/
MOKSA" >: /T%HK\"O%'ACX#^#?AB/%W@;]H[Q%??&JW@AN6A72[^VBN9]RF2
M*.<P*R$<[7>0@E!G&?E^[_ O[=WBJ'_@FCJ7Q9U!H;_Q[I,K: EU-& D]V9H
MXX[ADZ$B.59&&,,R-P > #]!J*_&K]F7]@/Q1^W-\/;CXM?$#XKZK;7^HWD\
M6G-+";^4^6^UY79Y5V+O#J(UQ@*#D# KZ _:^^"M]^S[_P $O=7\%:IXFN_%
M^HV5_:/-JUV\A,F_4$**BN[&-%38H4''RD]S0!^BM%?(/_!*'_DR/P=_U^:C
M_P"EDM?(/_!+/_E(!\7_ /L#ZQ_Z=;2@#]?*R/%UCJFI^$]:L]$O5TS6;BRF
MBL;UUW+;SM&PCD(P<A6(/0]*_%WXA:I\2U_X*8?$_P -_">_CTKQ=XNN[C0%
MOI&*?9[>2.*2:4,,E"BPEMP!("DJ-V*^Q_@I^Q'JW[)/P6_:!U37_&47C/5O
M%'AB8O.MM)&T+16UV9,N[L9-QE7D@'Y/>@#U#]A?X-_''X/Z)XNA^-7CT^-9
MKZY@?2XWU*?4&M557\UO-F4, Y:/"#A?+)_BKI/"/[8GAOQM^U9XF^!NF:5>
M2:IH%DUU<ZQYB?9F91"7B5?O94S!23W1O:OB/_@CKX7D\;?!WXZ:!%J^H:!)
MJ3V=JNJ:5+Y5W:[X;A?,B?\ A<9R#V-?-'[-/[)'A_X__MA>._A?KVO:S;Z;
MH[ZI(FI6[QM=SM;W:Q*TC.C E@Q+''6@#]\:*_*;_@I1^Q7IOPM_96^'FJ^&
M);K4H_A\S:3=W=VJF>6QN9V='D*J!\D[A0  /WYKT+XU?MB'7/\ @E;IWBT7
MG_%4>++&/PG,V<,;KYHKQB.HW10SL/\ ?7UH _1>BOBG_@DS\#_^%5_LP6WB
M.\@\K6O&UQ_:LA8?,+5<I:K]"NZ4?]=OPK[$\3>(K#PAX;U77M5G%KI>EVDM
M]=SMTCAC0N['Z*I/X4 ?G]^W%_P4C\=? /X[/\._AKH'A_7Y--TL7NJOJMM<
M7$L4OEO.RJ(9X]JI;A9&)!X)/ %?57['?[0)_::_9_\ #GCJXAM;75[D26VI
MVMFK+%#=1N5<*&9B%(VN 6)PXR:_,_\ 85\3^ /C!\?OC;\4/C#XP\.^&D\0
M6=WI]O9:_K%M:LZWY=91$)74D10+Y61QB7'T[W_@C[\3(_ WQ6^)OP6N=6M=
M3M9)I-1TN\LY5DM[F:W?R9GB920XDC\IP02-L1()H _5RBOR#_X*F?\ *0#X
M0?\ 8'T?_P!.MW7U]_P5>_Y,C\8_]?FG?^ED5 'UX[K&C.[!549+,< #UKP3
M]E7]L+PY^UE+XV;PUI5Y867AJ^CM!=73H1>*_F;)4"\J"(\X//S"ODW]G/X;
MM\3_ /@DG)IW_"1:QX<2RCUG4WDT:?RGNA#+<O\ 9Y3@YB<XW+WP*^7O^">/
M["WA+]L'0_&M[XFU_6M&DT*XM88%TDP@2"59"Q;S$;D;!C&.IH _="BOR[_X
M*=?M >.K/XF>!?V>OA]K<^A1ZC:V:WUY:W!@FN9;B4P0P/(OS)& H9@/O>8,
M\#GS']I#]@+Q7^P[\,X/B]X%^+&JSZSI=S;IJKV\+63DRR!!)&RR-N7>RJ8W
MSD,23_"0#]DJ*_/KXC?'B]_:0_X)+^*/&NK1QQ:Y-IRVFI"%0J-<0WT4;.H'
M0.%5\=M^.U?,?[&_[(OC/]M[X ?9O$/Q+U'PWX#\*7,^DZ%H]O;^=$]RQ^TR
MS2(74, UP@!Y)P5!7;R ?M#17X4_L:^&?B[\:/'&O_LX67Q-U3PMX.M6GOM9
M:SD>4Q16K^0T<'S*52226,%<A3@$@[<'=LO!WBO_ ()[?M^>"O!F@>,+W5-"
MU;4=-:9<F)+VSNIA#(DT08J77#X;U56&.@ /VYHKYI_;Z\.:'XK^"T&G:Y\8
M&^#-NVHQ2'5ENVC%Y& PDMS$LB-/E3N" _>13TS7Y*?&G0?@W\$]/TOQ)\!O
MC]K_ (A\?6]\J7D:V5U8L8R&8SQ3B)%X<("I=MV_.>,$ _>?QKXNT[P#X/US
MQ-J\OD:5H]C-J%U)_=BB0NY'OA37FG[*7[2^E_M7?"^3QMI&C7FAVB:A-I_V
M6]D1Y-T:HQ;*\8.\?E7R1^U-#J_[1'_!,;PU\2->\2ZKI^J:=HEOJ5Y9:;,(
MK75IVDBA+7*8^8 [G & &8UXQ_P3;_8)\(?'#P'HWQ9U;Q!K=AK6B>)LP65F
M8?LS_9FAE3=N0MR3@X(XZ8H ^ROVC_@;^T-X\_:4\"^*/AY\25\-?#S35M1J
M.D_VC/ '99V:X+VZ(4N T94 2'J"/EZGZYK\@_\ @H9_RDV^$O\ W+__ *<9
M*]8_X*W?M1>,_A[>>$OA3X%U:?0[W7[4W^I7=A/Y-U)"TIBAA20$&-69)=Q!
M&[:!D#<" ?I)17X[_';_ ()M^+/V5/@W=_%_PS\5]4G\8Z&L-UJ@LXWM&.^1
M5=H9UDWG8S _,/F )^4\'Z*\$_M%:K^TQ_P2V^)?B/Q Z3>)--T/5-&U.XC4
M(+B:* .LNT< M'+$6 XW%L #  !]_45^)G["G[,_C7]LSX4ZKX8U3XCZIX3^
M%_A>\9(-+T^/>+R[N!YDF\;U!" (?F#?ZP[<98UUO[ ^M>,_V:_V_=0^ DOB
M.?6?#,\^H:?-;L["W+06TES%<I$21&Y$0! /1R"3@&@#]AJ*** "BBB@#%T+
M_D):S_UW'\JVJP='N(H=3U@22(A,XQN8#M6O]NMO^?B+_OL4 3T5!]NMO^?B
M+_OL4?;K;_GXB_[[% $]%0?;K;_GXB_[[%'VZV_Y^(O^^Q0!/14'VZV_Y^(O
M^^Q1]NMO^?B+_OL4 3T5!]NMO^?B+_OL4?;K;_GXB_[[% $]%0?;K;_GXB_[
M[%'VZV_Y^(O^^Q0!/14'VZV_Y^(O^^Q1]NMO^?B+_OL4 3T444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !67XF_Y -[_US_K6I67XF_Y -[_US_K0
M!=L?^/*W_P"N:_R%3U!8_P#'E;_]<U_D*GH **** "BBB@#+\1?\>2?]=!_(
MUSM=#XB_X\8_^N@_D:YOS%_OK_WT*M;&;W'T4SS%_OK_ -]"CS%_OK_WT*=T
M+4?13/,7^^O_ 'T*/,7^^OYBG=!KV'T4SS%_OK_WT*/,7^^OYBBZ#7L24E,\
MQ?[Z_P#?0I58-]U@WT-%T&O8=13-P_O#\Z-X_O?K1==";DE)3-X_O?K1O'][
M]:!W'T4S>/[WZT;A_>_6@+CZ*9O'][]:-P_O?K0%Q]%-S[YIOFI_ST7_ +Z%
M*Z'KV)**C\Y/^>B_]]"CSD_YZ+_WT*=UW"S[$E+47G)_ST7_ +ZH\Y/^>B_]
M]"E==PL^Q)14?G)_ST7_ +ZH\Y/^>B_]]"BZ[A:78DI:B\Y/^>B_]]"E5@W1
M@?H:=T&JW0^BF;A_>'YTN?\ :'YBE==PL^PZBFY_VA^8HS_M#\Q3N@L^PZBF
MY_VA^8HS_M#\Q1=!9]AU%-S_ +0_,49_VA^8HN@L^QK>'?\ C]?_ *YG^8KH
MJYSPY_Q_/SG]V>_N*Z.H9<=@HHHJ2@K+\3?\@&]_ZY_UK4K+\3?\@&]_ZY_U
MH NV/_'E;_\ 7-?Y"IZ@L?\ CRM_^N:_R%3T %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 A( R>!69>:B7RD1PO=O6FW][YQ,:'Y!U/K5*@ JO
M9:A:ZE&TEI<PW4:NT;-"X<!U.&4D=P>"*\Q_:.3Q0O@&2Y\.W,D5M 2VI0V_
MRSR6^/F*/_#@9SQT.>V#F? KQ99Z@HL?"/AA],\$VT3-/JE[)MDENMJYP.=V
M!P3GL.F,'T(X1RP_MT_^!Z^;Z);G'+$*-?V+7_!]/3J5_P!H*X;5O&7@#PK?
MW$EKX<U>[<7@B<IY[*4"QDCMEA^+ ]A7J&B_#_0?#6@WFCZ1IT6GV-VK"6.+
M)W%EVDG).3C'Y5E_%/X:6'Q6\,K837!M+F)Q<65_$-S0R8X/494@\C/H>H!K
MFO#_ ,*_&=QJ^EW?BWQY<:G;:9,LT%G8PB 2LOW3*P W>X(.?7FM^>%3#PA[
M3EY;W6NKO=/3[M=K&/+.%>4N3FYK6>FG1K]=#E?V>_B%H?@?P+J6A^(M8M-,
MN-)U.>W$=S,%=ER"2J]3\V[H*CU[Q#;?#?XZ+X]OHYKCPEXCTF.&/5+>-G2(
ME8R"0.>1$IZ<A^,X(KUE/A#X,76+O5'\-V%Q?W4S7$LUS'YQ:1CEF ?(!R<\
M 5U:6\4=NL"1(L"KL$:J H7&,8],=JJ>,H^UE5C%OG34EMOVWZ_\,3'#5?9Q
MIRDO=VZ[=_D?/UAKD/QF^/OA[6O#T5Q-X>\/VT@GU%XFC1Y&5L*NX ]67@X.
M-W&.LOP<\0:9I'Q,^*5QK^HVVF:I+J.%COI5B/D(TFTJ6(R,%>G8*>XKWZ.-
M(4"1HJ(.BJ, 5S7BCX8^%?&EPMQK6A6=_<J-OGNFV0@= 77!('H32^N4Y)TI
M1:A9)6U>COY7O\A_59Q:J)IRNWV6JMY['C_P;\2VUG;_ !2^)-\2;&>^?R'8
M8+1Q[BJK]?,C7Z@5SWAGPMXKLOAWJOQ4@\27>EZ[=23:J]BY#6MS .0KH>Y
M;:?0J!CJ/8OBA\(T\9_#Q/"VB7,/A^UAD62.&*']T^W)",!C R<YYY /-<-K
MW@SXK^-M%MO"&HQ:%HF@KLBN;[378^;"F,*J$Y P!QA<X[#BN^GB*=1N<9*-
MVKI_R)62\[^1QU*,X6@TW9.UOYF]_*WF>O\ P_\ %7_";>"]'UWR?(:]MUD>
M(<A7Z,![9!Q[5T )'(X-96FV.F^"O#5M9I)'9Z7IMNL8DF<*J(HQEF/TR37D
M7BK]J.PT^X63P_HMUK^DPW"0W>I*#%%N8X"19'SOU...GIR/%AAYXJI+ZO'2
M_P#PVIZLJT,/!>VEJ?0EGJ.XA)3SV;_&M&N:C;S(U;:R;AG:W4>QK3T^^Z12
M'_=;^E<1U&E1110 4444 %%%% !1110 4444 %%%% !1110 4444 %07W_'E
M<?\ 7-OY&IZ@OO\ CRN/^N;?R- %+PS_ ,@&R_ZY_P!:U*R_#/\ R ;+_KG_
M %K4H **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#-\2,R:'>E25
M/EGD'%06GAO3)+6%FLXRS(I)Y]*E\3?\@&]_ZY_UJ[8_\>5O_P!<U_D* *7_
M  C.E_\ /E'^M'_",Z7_ ,^4?ZUJ44 9?_",Z7_SY1_K1_PC.E_\^4?ZUJ44
M 9?_  C.E_\ /E'^M'_",Z7_ ,^4?ZUJ44 9?_",Z7_SY1_K1_PC.E_\^4?Z
MUJ44 9?_  C.E_\ /E'^M'_",Z7_ ,^4?ZUJ44 9?_",Z7_SY1_K1_PC.E_\
M^4?ZUJ44 <UJ&DVFGZII+6T"PLTY!*]^*Z6L77?^0EHW_7<_RK:H **** "O
MR>_;D_9M^)WP!_:FM_VC/A+HUQKEE-=+J=W%96S7#65ULV3K+$GS&"9=Q+CH
M7D!*_*3^L-% 'Y)^//\ @M=X@O?!5[I>A_#&/PYXNEA>W.H7>JF>*SD(QYBP
M^2A9AR0K-@$#.X9SZU_P2C_8\\2?".UUKXJ>.[1K#7_$5FMKIMC<-NGBM'99
M7FEY.&D98\*?F 0YQNQ7T;^VM^R+H_[7'PKDT:1K?3O%NF[KC0M8F4XMYB!N
MCD*@GRI  & !QA6 )4 \_P#L*?!7XV_L\^"9? _Q+USPQXE\,V2YT2YTJ^N9
M;NS&>;=A+;QAHN<J=V4QM *D! #X!^..J>+OV&O^"C&L_%G4O"EUK/AK4-1N
M;^VG :*"\M[N)E=$FVE5DC9S\IYR@R,,#7%_\%!/C=XX_:ITSPI\2;GX?ZEX
M+^&NFRR:/H\^IMF2]N9E\V60?*N5*PJ/E!7Y#\Q.0O[KT4 ?E3_P58^'OC'Q
M-\!O@9K^CV5[J7AC1]-9-2CLXV=;:62WMO*FD"C[N(Y%W'A2<9&_GR[QQ\7O
M#OQZ_9+U/P7\&OV=3HG]D:1%=^(_%C65N$LH+39/,4N57?*[M#R6(9AN^4\D
M?M/10!^;'[.O_*&WQ=_V!/$'_HZ>M3_@B9_R;_XY_P"QG;_TD@K]$ZY#XO\
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
M444 %9?B;_D WO\ US_K6I67XF_Y -[_ -<_ZT 7;'_CRM_^N:_R%3U!8_\
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
M?Y"IZ@L?^/*W_P"N:_R%3T %%%% !1110 4444 %%%% !1110 4444 %%%%
M!5#4KKRU\I#\Q^]5R:40QLY["L%W,C%F.2>30 WIR:\T^+6I>+[72],\1>";
MB#4;2Q<SW>G1H)#>QXQ\K#J -W"\]QD@"J'[3/B2[T#X>P06UP]E'JE_%87-
MVAP8H6#,YSVR%Q]":RO%UWXL^':Z1H7PYT%6T'2+)KZZGNMIBNDSS&KDCYN2
MYP022,<<'UL+AW:%735O1[66]W\[+[SSL167O4]=+:K>[VM^IVGA7XR>&?%O
M@>Y\2?:TL[.U3_3H;@C?;-_=8=\]L?>[<\5Y=X9^"8\7337FB:[>:5\-=<"7
M\FDH&BF=\D&+!'RI@=02"-O! !JYX/\ A;X4^,TVG>/5L+G2+2[=WOM%.#!=
M3*V ^1C*[MV>/F]N<^_1QK%&J(H1%&%51@ >@K2I5C@G*.';4GNG;2W3S:>S
M(ITY8I*59)I;-=?/R370K:3I=MH>EVFGV<?E6EK$L,4>XMM51@#)Y/ JW12,
MP12S$*HY)/05XS;;NST]$K(6HKJZALXC)/*L48_B8X%85[XL\Z8VNDP&^N/[
MX^XOO[_RIMKX5DO)A=:Q.;N;M$IPB^W_ .JMU2Y5>H[?F8NKS.U-7_(Z&&:.
MXC62)UD1NC*<@T^N8F\-W>CR-<:+.5&<M:RG*M[#/]?SJSIOBR&:;[-?1M87
M8XVR<*?H?\:3I77-3=U^(*K9VFK/\#>HHHK W/-_B1\%;?XH:U9SZKKNI1Z1
M!&0VDV[*L;2=G!QP>N<@YXP1W\@\+^%M2D^*VE^ +_4;74?#7@Z5]5\Z.,1G
M;M4QK+V+*Q'X,V2>@^IZ\I^.7@\0?#GQGJ/AZR6#6M0MXC>2VZXDGBC<%P??
M87SW(&.>*]K!XR>E"3T>BVT;TO\ <V>7BL-'^-%:K5^:6MOO2*VJ?M3>"=-U
M:6SC.H:A!"VV6_L[8/;Q^Y)8$CW /MFO4M$UNQ\1:5:ZGIEU'>6-RGF13QGA
MA_0@Y!!Y!!!KY^\-?%+0O!DG@+P_X:M[/5="U:S":C:6D#2WJS, #)(!P><Y
M7DX#<8VUZKX(\&Z7\)8]0M4U=(M.U34#+9V5P5C6!W.!%&2<MG@ >W3DU.+P
M]*E%*,7%]+ZWUL]+:/\ 0>'KU*DO>::ZVZ=>^J/4=/NO/CVM]]?UJW6!;S&"
M57';K6\K!U# Y!Y%>.>F+1110 4444 %%%% !1110 4444 %%%% !1110 5!
M??\ 'E<?]<V_D:GJ"^_X\KC_ *YM_(T 4O#/_(!LO^N?]:U*R_#/_(!LO^N?
M]:U* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH R_$W_(!O?^N?
M]:NV/_'E;_\ 7-?Y"J7B;_D WO\ US_K5VQ_X\K?_KFO\A0!/1110 4444 %
M%%% !1110 4444 %%%% &+KO_(2T;_KN?Y5M5@^))X[:\TF65@D:SDLQZ#BK
M?_"3:7_S^Q?G0!IT5F?\)-I?_/[%^='_  DVE_\ /[%^= &G169_PDVE_P#/
M[%^='_"3:7_S^Q?G0!IT5F?\)-I?_/[%^='_  DVE_\ /[%^= &G169_PDVE
M_P#/[%^='_"3:7_S^Q?G0!IT5F?\)-I?_/[%^='_  DVE_\ /[%^= &G169_
MPDVE_P#/[%^='_"3:7_S^Q?G0!IT5F?\)-I?_/[%^='_  DVE_\ /[%^= &G
M169_PDVE_P#/[%^='_"3:7_S^Q?G0!IT5F?\)-I?_/[%^='_  DVE_\ /[%^
M= &G169_PDVE_P#/[%^='_"3:7_S^Q?G0!IT5F?\)-I?_/[%^='_  DVE_\
M/[%^= &G169_PDVE_P#/[%^='_"3:7_S^Q?G0!IT5F?\)-I?_/[%^='_  DV
ME_\ /[%^= &G169_PDVE_P#/[%^='_"3:7_S^Q?G0!IT5F?\)-I?_/[%^='_
M  DVE_\ /[%^= &G169_PDVE_P#/[%^='_"3:7_S^Q?G0!IT5F?\)-I?_/[%
M^='_  DVE_\ /[%^= &G169_PDVE_P#/[%^='_"3:7_S^Q?G0!IT5F?\)-I?
M_/[%^='_  DVE_\ /[%^= &G169_PDVE_P#/[%^='_"3:7_S^Q?G0!IT5F?\
M)-I?_/[%^='_  DVE_\ /[%^= &G169_PDVE_P#/[%^='_"3:7_S^Q?G0!IT
M5F?\)-I?_/[%^='_  DVE_\ /[%^= &G169_PDVE_P#/[%^='_"3:7_S^Q?G
M0!IT5F?\)-I?_/[%^='_  DVE_\ /[%^= &G169_PDVE_P#/[%^='_"3:7_S
M^Q?G0!IT5F?\)-I?_/[%^='_  DVE_\ /[%^= &G169_PDVE_P#/[%^='_"3
M:7_S^Q?G0!IT5F?\)-I?_/[%^='_  DVE_\ /[%^= &G169_PDVE_P#/[%^=
M'_"3:7_S^Q?G0!IT5F?\)-I?_/[%^='_  DVE_\ /[%^= &G169_PDVE_P#/
M[%^='_"3:7_S^Q?G0!IT5F?\)-I?_/[%^='_  DVE_\ /[%^= &G169_PDVE
M_P#/[%^='_"3:7_S^Q?G0!IT5F?\)-I?_/[%^='_  DVE_\ /[%^= &G169_
MPDVE_P#/[%^='_"3:7_S^Q?G0!IT5F?\)-I?_/[%^='_  DVE_\ /[%^= &G
M169_PDVE_P#/[%^='_"3:7_S^Q?G0!IT5F?\)-I?_/[%^='_  DVE_\ /[%^
M= &G169_PDVE_P#/[%^='_"3:7_S^Q?G0!IT5F?\)-I?_/[%^='_  DVE_\
M/[%^= &G169_PDVE_P#/[%^='_"3:7_S^Q?G0!IT5F?\)-I?_/[%^='_  DV
ME_\ /[%^= &G169_PDVE_P#/[%^='_"3:7_S^Q?G0!IT5F?\)-I?_/[%^='_
M  DVE_\ /[%^= &G169_PDVE_P#/[%^='_"3:7_S^Q?G0!IT5F?\)-I?_/[%
M^='_  DVE_\ /[%^= &G169_PDVE_P#/[%^='_"3:7_S^Q?G0!IT5F?\)-I?
M_/[%^='_  DVE_\ /[%^= $&A?\ (2UG_KN/Y5M5@^&YX[F\U:6)@\;3@JPZ
M'BMZ@ HHHH **** "BBB@ HHHH **** "H+[_CRN/^N;?R-3U!??\>5Q_P!<
MV_D: *7AG_D V7_7/^M:E9?AG_D V7_7/^M:E !1110 4444 %%%% !1110
M4444 %%%% !1110 5E^)O^0#>_\ 7/\ K6I67XF_Y -[_P!<_P"M %VQ_P"/
M*W_ZYK_(5/4%C_QY6_\ US7^0J>@ HHHH **** ,S7O^/6+_ *ZC^1K\3/$&
M@W7BCXM:YI5D8!=W6L7<<(N)1$K-YSX7<>YZ#WK]L]?_ ./6+_KJ/Y&OQ/UC
M7#X9^,^HZOY'VG[#KUQ<>3NV[ML['&>W2O-QVT+^9]]PGS<]?DWLK?B8_A7P
M??\ C*>2'3S:K*I1$CNKE8C+(^=D:9^\[8.![<D4W4/!^I:7I8U&ZABAM66W
M,;&09D\Z(2J$'<A&!;'W=PSU%7_!OB32/#+3W%QIM_/J#6S00W=M=I$UL[,=
MTD>Z-L,4PH/498@@XQ9\4_$)O%GA^PTFZLCMTR&W@TZ?S/FMU2%(Y5(Q\RR%
M%?'\+#J037D6CRW>Y^A.>(]K9+W/Q_/^O,YO3=%GU;SS \">2GF,L\RQEA@G
M"@_>/'0>HK8A\!7UQ;V4D=WII>ZC\Q8C=JK(N ?GSPIYQCKD&F^"_&]QX,76
MQ%IUC?G4]/DL,W]NLWV<L1B:/(.UUYP?>IH?$'AJ/^QPWA57BM3&UXIN/GO&
M4$,"^W*JV<D?[( [FJ5K:FE2592=HZ=-NWJB*X\!W]G'&\UWIBHSJA*7B.5#
M,%#$#MD_D":2U\"WES%IC_;M,0W^=B-=KF+'>3^X/K2>*-:T#5H$72?#O]BR
M)+N#)-O#(44%6R.2&!(/HQSFN<"XZ+2=D]!T_:RC>6C]/^";6L>%Y-+T];S[
M;9W41<1$6\A+*Q!."" >/RYK[A_X)I?\BAXX_P"PG:_^BFKX%&5R ./I7WQ_
MP31_Y%'QS_V$[7_T4U=6#O[9?,^;XD4EE512=]5^:.%729]<\37%E;&,3RSR
MA/.D" G<3C)[GM4&FZ-<ZI;W<\/EI;VR;I)96VJ,YPH]6.UL#V-6K;5/[%\6
MF_\ +\XV]X\GEYQNPQXS5WPGXP7PO%)&L$TJR213N([CRP\D9?:K<',9#D,O
M?'6OAHQIRE[^FK/Y02@Y>]Y_D53X/O7T]+RWFM+R-E=MEO.'?Y0I8;<9R-ZC
M [G%4VT2X359=.=[=+F(E7W3*$##JN[ID'C'J#6II/C2XT.:TGL4^SSVM@]I
M&ZMT=I"YDQCWQCVJ/2O%2:#XBN-4L=,M3%-'(@L[M!-$A=>HW#^%OF'?@#FJ
MY:+M9CM2TLRM:^';BZMXI/M%K$9)?*"23 $?,02?0<9S3Y/"]Y'&[M+:84$[
M1<J2<9Z#\*='JFD?V?:12:7NNHRAEG!!\W#,6Z^H('IQ1K6K:/J%NR66C+IT
M@*%'23/3.X-Z@\$=,$'UJ>6G:]Q>Y:Y$OAV62">9;NSVPC)5I@"W!. #UZ5#
M=Z+):V\LWGP2"-]C*K'<#QV_']#6=@?A1TR:QO&VQE=6V/J+]D__ )$?Q!_U
M_P#_ +16OR[TCPG?^,/$E_:V!B3RC+/--.VV.*,-@LQP>,LHX!)+ 5^HG[)_
M_(C^(/\ K_\ _:*U^9?@_P ;'P3XDUJ8B[,%]%)9RM87)MKA5\U) R28.#NC
M7L<@D=Z^UI?[G0OV9_4_A3*M' XIX=7G:%OOF9^H> ]3T_PTFNR&WELV*DK#
M<!I41F=4D9.H1FC< ^W;(S;NOA;KMKLC\B.6\-HMZ]E%+NGC1GC159<??)F3
MY1D\G.""*W?%'Q9L_%>GZA%<Z-);W.HLBW3V]T!&(HY99(EC4IPV95!))R$X
M )-;C?M):G"AN+2VFCU:2/YKJ>Z\U(Y#]G!6)"OR1,+?F,DY,AYP.5I?<_;)
M5\VY5RTE>[W:MTMUVWU]#RN\\/W-GX@?1I)K874<_P!G9UG4PJ^<',F=N >"
M<XXZUL0_#J_FMY93J.E1^7,( C7B[F)*#(_V?GSG_9;TJA-KUM:^+!J^D:?%
M86T=RMU!83'SXXR"&\L[A\R9XP>W!S73W_Q&T3Q)JWB/4]9\+VB7>J7+S6\>
MGJL4-FAC9%C1,8PI*'C!.WKS4G?6J8R*BX1OIKM>]]K7^>_H9A^&&I*N[[?I
M!.TOM%^AX'^<U7TOP#=:K(T2:GI4$BYW"XNP@&)"AY/!Y&?IS6O-XR\(/H,5
MBOA%?MOD-')J)FQ*9/+4+( !@$.N3QR"?6N!VCID&F50>+K1ES/E?2Z7Z29U
MT7PSO9K&*Y&HZ6@E&5C><ALX) /& 2!QGOQUK[^_X)Q6S6?P=\36[LK/#K\T
M993D$B&(9'MQ7YI^F><5^DW_  37_P"2)Z__ -AR3_T1%77A/XOR9\)QY"K'
M)).<[^]'I;J<=8Z;<ZSK$=C:1^;<W$NQ%R ,D]23T ZD^U.OM%N-/LX[FX$:
M+*S*B;\N0"06QZ94C\*GT/7G\.ZK)=);076X[&2=21MW G!!&"<8J_JGC(:M
MI;6<ULZA\*52;]TBB1W78A!VM\^"<\@>]?B484'!N3][7]+?J>7*6)52*A&\
M-->OG^G];4IO">H(N5$,LOV=;IH8I-TBHQ0+E<=29%X^M4SI,\=Q=0L\'F6Y
MVN/.7DX.0OKT(XKI+;XC7&GVVVTCF6X\ID$]Q.92A)AR%R/N8A^[G^(UD6?B
M-=,?6%L["W6#4(3"L<Z"4V^2#NC)'!'S 'T/M5SIX9-*,GYD4YXUI\\5_3U_
M K0:+)<0R2K<6P5$#E6DPQR,X [GM]:F7PW,84?[5:9<9$?F_-P<'MU[_2EG
MU'26MK5(=)\J2(#S7,N[S?EP<\<<\^V*HZE<6]U?236UL+2%L8A4DA<  ]?4
M@G\:QE&E%=_O_P C>+K2=G=+Y?HRK1117)8[SZK_ &0_^15U/_K[?_T&.OH"
MO /V0_\ D5=2_P"OM_\ T&.O?Z_?LC_Y%E#T_5GX+G?_ ",J_P#B"BBBO</$
M"LOQ-_R ;W_KG_6M2LOQ-_R ;W_KG_6@"[8_\>5O_P!<U_D*GJ"Q_P"/*W_Z
MYK_(5/0 4444 %%%% !1110 4444 %%%% !1110 4444 9NK3?=C'U-9KL51
MB%+D#(4=3[5-=2>;<.W;/%><?&[Q-XL\+^$TN?"&F/J%^9AYS)%YWDQ!22VS
M.2<XZ XYS6M*FZTU33U?<SJ5%3@YOH</XD^*UAJFES^&OBKX0O\ PY;79V"[
M3,UL2#D,LBC(8'!XW>_'%9OAGX.:CXCT<Z;HWQ5FU+P0_P AM;<!I1'_ ,\M
MV[Y1C(QP/]GM6!X;US7/BPLFGZO\6XM)N'^6727TQ8'_ -W)V!C]":]I^$/P
M9TSX1VM^+.[FU"YOF0RW$RJIPH.%4#H,L3^/M7T5>4<%3<8OEGORV;CZKF6G
MJFSQ*47BIJ4E>/>Z3]'RO7YI'::'HMGX=T>STS3X1;V5I$L,48[*!C\3[]ZO
M45PFM>)+B\U.:R><V-DDIB>2-2S<$C)^N.@_6OGZ=.5:3U]3V*E2-&*.BU;Q
M1:Z:_DQ@W=V3@0Q<\^YK/71=2\0L)-5E-M;9RMK%P?Q_^O\ I6IH.DZ=8VXD
MLMLVX<SY#,?Q[?2M6J<XT]*:U[O?_@$\CJ:U'IV7]:E>RL+?3H1%;1+$G^R.
MOU/>K%<#\0/CIX)^&<C0:WK42WP&?L-L#-/^*K]W_@6*\EO_ -N[PG#(RV?A
M_6+E >&E\J//X!FKR:V.P]*5JE17/K<#PUF^84U4PN&DX]':R?HW9/Y'TQ5/
M4M)M-6BV7,*OZ-T9?H:\"T/]N+P-J$RQW]AJ^E G_6O"DL8^NQBWY*:]L\(^
M.= \>:=]N\/ZM;:K;=&:!_F0^C*?F4^Q K2AC*-9_N9IO\3FS#(<RRV-\;AY
M1CW:T^_;\2E]BU;PS\UFQU&P7_EB_P!]1[?_ %ORK6TGQ%9ZO\L;>5./O0R<
M,/IZUJ5A>(M'TN:(W-TZV<HY$Z'#$_3^+^=>DI1JZ36O=?Y'S?+*EK!Z=G_F
M;M%<9X6\2W4VI1V$S_:H7W!)G&&X!.3Z]*[.LZE-TI<LC2G456/,CP7XC1P_
M!OQ!9'P3X5T^#6O$]P;==5NGQ#;R$@>6JGA-V=V 0..AQ@<1;_"O6O%GB_Q1
MH_B[5[R[\;6=C'?Z/=1S'[*W(.5^48PX"]OXCCBOH_Q]X)TWX@>'9-*U-9C#
MYB3H]LP65'0Y!0G@'J/Q->97'Q>\:ZM9RS>'/ \NG:=!%E]8\42^0JHH^^RY
M!(')R&/>O>PV)J2I_NTN?9R;UW5M7TZ61Y->A",_?^'HDOOT7WW/5O!LVK7'
MA72WUVV%IK!MU%U"KAP) ,$Y!(YZ]>,UUVES;H2A/*GCZ5\^?L[^-/&OCJ_U
MW4M>N([W0?EBL[B.$0QM(K'=Y0VABN#R6YX ZY ]WTZ3R[I1V;BO'Q5&5"M*
M$K7\MO3Y'IX>HJU)3C>WF;5%%%<AT!1110 4444 %%%% !1110 4444 %%%%
M !4%]_QY7'_7-OY&IZ@OO^/*X_ZYM_(T 4O#/_(!LO\ KG_6M2LOPS_R ;+_
M *Y_UK4H **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#+\3?\@&]
M_P"N?]:NV/\ QY6__7-?Y"J7B;_D WO_ %S_ *U=L?\ CRM_^N:_R% $]%%%
M !1110 4444 %%%% !1110 4444 ,DB29=LB*XSG##-1_8;;_GWB_P"^!4]%
M $'V&V_Y]XO^^!1]AMO^?>+_ +X%3T4 0?8;;_GWB_[X%'V&V_Y]XO\ O@5/
M10!!]AMO^?>+_O@4?8;;_GWB_P"^!4]% $'V&V_Y]XO^^!1]AMO^?>+_ +X%
M3T4 0?8;;_GWB_[X%'V&V_Y]XO\ O@5/10!!]AMO^?>+_O@4?8;;_GWB_P"^
M!4]% $'V&V_Y]XO^^!1]AMO^?>+_ +X%3T4 0?8;;_GWB_[X%'V&V_Y]XO\
MO@5/10!@:Y:P+J.D!88P&G(("CGBMC[#;?\ /O%_WP*S->_Y"6C?]?!_E6U0
M!!]AMO\ GWB_[X%'V&V_Y]XO^^!4]% $'V&V_P"?>+_O@4?8;;_GWB_[X%3T
M4 0?8;;_ )]XO^^!1]AMO^?>+_O@5/10!!]AMO\ GWB_[X%'V&V_Y]XO^^!4
M]% $'V&V_P"?>+_O@4?8;;_GWB_[X%3T4 0?8;;_ )]XO^^!1]AMO^?>+_O@
M5/10!!]AMO\ GWB_[X%'V&V_Y]XO^^!4]% $'V&V_P"?>+_O@4?8;;_GWB_[
MX%3T4 0?8;;_ )]XO^^!1]AMO^?>+_O@5/10!!]AMO\ GWB_[X%'V&V_Y]XO
M^^!4]% $'V&V_P"?>+_O@4?8;;_GWB_[X%3T4 0?8;;_ )]XO^^!1]AMO^?>
M+_O@5/10!!]AMO\ GWB_[X%'V&V_Y]XO^^!4]% $'V&V_P"?>+_O@4?8;;_G
MWB_[X%3T4 0?8;;_ )]XO^^!1]AMO^?>+_O@5/10!@75K /%%D@AC"F!R5VC
M'6MC[#;?\^\7_? K,NO^1LL?^O=_YUM4 0?8;;_GWB_[X%'V&V_Y]XO^^!4]
M% $'V&V_Y]XO^^!1]AMO^?>+_O@5/10!!]AMO^?>+_O@4?8;;_GWB_[X%3T4
M 0?8;;_GWB_[X%'V&V_Y]XO^^!4]% $'V&V_Y]XO^^!1]AMO^?>+_O@5/10!
M!]AMO^?>+_O@4?8;;_GWB_[X%3T4 0?8;;_GWB_[X%'V&V_Y]XO^^!4]% $'
MV&V_Y]XO^^!1]AMO^?>+_O@5/10!!]AMO^?>+_O@4?8;;_GWB_[X%3T4 0?8
M;;_GWB_[X%'V&V_Y]XO^^!4]% $'V&V_Y]XO^^!1]AMO^?>+_O@5/10!!]AM
MO^?>+_O@4?8;;_GWB_[X%3T4 0?8;;_GWB_[X%'V&V_Y]XO^^!4]% $'V&V_
MY]XO^^!1]AMO^?>+_O@5/10!!]AMO^?>+_O@4?8;;_GWB_[X%3T4 8&AVL#:
MCJX:&,A9P "HXXK8^PVW_/O%_P!\"LS0?^0EK/\ U\#^5;5 $'V&V_Y]XO\
MO@4?8;;_ )]XO^^!4]% $'V&V_Y]XO\ O@4?8;;_ )]XO^^!4]% $'V&V_Y]
MXO\ O@4?8;;_ )]XO^^!4]% $'V&V_Y]XO\ O@4?8;;_ )]XO^^!4]% $'V&
MV_Y]XO\ O@4?8;;_ )]XO^^!4]% $'V&V_Y]XO\ O@4?8;;_ )]XO^^!4]%
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
MRQ^Y_P"9R?[-_@W5/!.BWUEJT*0W$D[2JJ2!QM(09R/<&O9*YSP[_P ?S_\
M7,_S%='7U>&PT,'1CAZ>T597/E\1B9XRM/$5-Y.[L%%%%=)SA67XF_Y -[_U
MS_K6I67XF_Y -[_US_K0!=L?^/*W_P"N:_R%3U!8_P#'E;_]<U_D*GH ****
M "BBB@ HHHH **** "BBB@ HHHH *9,VR%V] 33Z@OCBTD^E &'7FWQ&UWXD
MZ'KD<WA70-/US1! OFQ2R[9_,W-N*_.O&-O8]#7I-?.MY\:O^$"\9_$U]8OK
MF;4HYH8M(T63>8G&PA648P,_(6/&1ZUZ."I3J2DX14FEL^MVET]=SBQ52-.*
M4I.-^J]+D/B/QQHGC"[MK#X@_"K5-/O+AU@2]BBRP9B%7$N$.,XXR1]:^A]-
MT^#2--M;&U3R[:UB2")<YPJ@ #\A7@/A?5/'_@WQWX+_ .$D\0'4QXJ\[[3I
M$J;?L>%##;Z$;AT '!'/6OH>ML?:/)"'P[Z-M;VTOMM\S+!WES2EOYI)]];>
MH5RWAV".YU;Q#'*BR1M. 589!^9ZZFN9\*_\AK7_ /KN/_0GK@I_!/Y?F=53
MXX?/\@N/"]QILAGT6Y:!B<M;R'*-_GW_ #KR?]I7XK:UX3^%]PMBTVBZS<7,
M=J9XQ@A&#%BA/*G"]1Z\&O?J^=_VYH]WPATY@.5UF')QV\F;_P"M7G9A7E]4
MJ-[VT?4^JX6PM.KGF$IR5XN:NGJG\CY>^"/P3UOX\>*IK6VG^S6-OB;4-3F!
M?RPQ. /[SM@X'L23Q7U!J'@/]G#X)R+I/B*6WOM650)C>F:[FY[LD0*IUZ;0
M<8ZU#\%M2_X5/^Q?J7BS3$1=4N4N;D3!=Q\TS&WC)]0NU3CIUKX=N;F6\N)9
MYY7FGE8N\DC$LS$Y))/4U\0Y4\OHTWR*4YJ^NJ2>VA_1$:6,XJQ^*@\3.CAJ
M$G32IOEE*2^)M]NR_P"'?V[K'[,_PG^.'AVYU+X8:K#INH0Y'[B61X"^,A98
MI/GCSV*X[G#5\DQW/BKX*^.KB.*:XT/Q!IDQBE53Z<X(Z.C#!YR""#6Q^S_X
MXU#P#\7/#=_82LB7%Y%9W4:\B6"1U5U([\'(]" >U>R?\% M M;'Q_X=U:%5
M2XO[!HI]H W&)_E8^IP^W)[*!VJ:OL\1AWBJ4>2<6KVVUV:[&V!6*RC-HY'C
M*KQ%"O&3@YZR3CO&3ZJW?RM;4^GK'QM/KVFV9TJV-Q<SP1R/(1A$+*"?Y]_U
MJ[9^$S<3"ZU><WMQ_<S\B^W^<"IO MK'9^"]"CCC6("Q@RJC'/EKFMVOT>-:
MT%R*WYG\G5J*5:2EK9NW;<YB\18_'.F*BA56W("J, </73US-_\ \CYIO_7N
MW\GKIJNMM'T_S,:6\O7]$%?,_P ?O$VN^)/B%#X,32-3O-!MTCN)[;25+2WV
MX9 9L?(F05S@XP3SP!],5Y_\2/BE=^ ]0M+.S\*:KXCFN8C(#I\995P<8.%)
MS^%=. FX5KQAS.VFMK>9CC(J5*TI<JZZ7^1SW@V3XG7EUI$4>@:+X,\+6KH&
ML&<RW!A!Y0$9 )'?"G/)KV.-MKJWH<U\K_&;XE>,/&'P_O8;KX>:AX?TZ*2*
M9[^[F.8]KC'RF->I('XU]/:?="^L+:Y7[LT2R#\0#_6M,;2G&,:DTE=M66NU
MMW=W>O4SPM2,I2A%MVMJ].^RLNQU5+3(3F%#_LC^5/KRCT0HHHH **** "BB
MB@ HHHH **** "BBB@ J"^_X\KC_ *YM_(U/4%]_QY7'_7-OY&@"EX9_Y -E
M_P!<_P"M:E9?AG_D V7_ %S_ *UJ4 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110!E^)O^0#>_\ 7/\ K5VQ_P"/*W_ZYK_(52\3?\@&]_ZY_P!:
MNV/_ !Y6_P#US7^0H GHHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#%U[_D):-_U\'^5;58NO?\
MA+1O^O@_RK:H **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH Q;K_D;+'_KW?^=;58MU_P C98_]
M>[_SK:H **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH Q=!_Y"6L_P#7P/Y5M5BZ#_R$M9_Z^!_*
MMJ@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "H+[_CRN/^N;?R-3U!??\ 'E<?]<V_D: *7AG_ ) -
ME_US_K6I67X9_P"0#9?]<_ZUJ4 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !67XF_Y -[_US_K6I67XF_Y -[_US_K0!=L?^/*W_P"N:_R%3U!8_P#'
ME;_]<U_D*GH **** "BBB@#*\1?\>2?]=!_(UPU]\.-$U34);^[\/V]S>RXW
MW$D!+G QU^@_'O7<^(O^/%/^N@_D:I>*_&5EX+LK6XO8II$G?RU$"[CG&>E6
MK]"';<Y"Q^&.@:;)+):^&[:&25/+D98#EEZX/M4M_P##G1=4DBDN_#]O<20H
M(HY'M_F1 2P4'J!DDXZ9-3K\;]%D5BMK> KGY9$5#QGID_[)JQ>?&'2;-PK6
MUR3L1_X!]Y58#[W/WP/KFJ][L3IW,NW^&.@68F$/ARVB69&24+ <.K8W ^N<
M#/T'I2_\*ST S"8^&[3S0V[?]FYR#D=O7FNY\.>)(?$D%Q)%#) 8)3"Z2$$Y
MP#G@GUK7J>9E\J/*9/A7H#1LB>'X80[1ES%$5+!)%D"G_9W(N1WQBNE^QSMR
M89,_[IKL:*7,'*CCOL<W_/"3_ODT?8YO^>$G_?)KL:*.8.5''?8YO^>$G_?)
MILEN\0!>-D'^T"*[.L;Q)_JH?]X_RIJ0G%&,MI*R@K#(0>A"FE^Q3_\ /"3_
M +X-:]YK</A_0(;R=6:)=BD*0/O$#.20*YQ?B_I9M_/-K=+&>@;8">,]-W^<
M&GJ]D*RZES[%/_SPD_[X-'V*?_GA)_WP:IM\7M.71_[1.GWPA\P1!2B[BQ5F
MX&?1?UILWQDTB(#_ $:[+=U55)'3_:Y/S=!UP?2CWNPO=[E[['/_ ,\)/^^3
M1]CF_P">$G_?)IN@?%+3?$.M0Z9;VE]%/(#B26("/A-W#9P>.X]*[.E=HKE1
MQWV.;_GA)_WR:/L<W_/"3_ODUV-%+F'RHX[['-_SPD_[Y-'V.;_GA)_WR:[&
MBCF#E1QWV.;_ )X2?]\FC['-_P \)/\ ODUV-%','*CCOL<W_/"3_ODT?8YO
M^>$G_?)KL:*.8.5''?8YO^>$G_?)H^QS?\\)/^^378T4<P<J..^QS?\ /"3_
M +Y-'V.;_GA)_P!\FNQHHY@Y4<=]CF_YX2?]\FC['-_SPD_[Y-=C11S!RHX[
M['-_SPD_[Y-'V.;_ )X2?]\FNQHHY@Y4<=]CF_YX2?\ ?)H^QS?\\)/^^378
MT4<P<J.?T"-HK]U92C>6>&&.XKH*SH_^0]+_ -<?ZBM&DQH****0PK+\3?\
M(!O?^N?]:U*R_$W_ " ;W_KG_6@"[8_\>5O_ -<U_D*GJ"Q_X\K?_KFO\A4]
M !1110 4444 %%%% !1110 4444 %%%% !5?4/\ CSD_#^=6*ANUW6T@_P!G
M- &%6;>>&=(U#4H-1NM*L;G4+?'DW4ULCRQX.1M<C(_ UI44U)QU3$TGN9%U
MX2TF^\266OSV:RZO9Q-#;W#.W[M6SN 7.W)R><9YK7HHIN4I6N]@44KV05S/
MA7_D-:__ -=Q_P"A/735S/A7_D-:_P#]=Q_Z$];4_P"'/Y?F8U/CA\_R.FKR
M#]JWPG<>+?@MJZ6D9FN;!X[]8U&20A^?'T1F/X5Z_398DGC>.1%DC<%65AD$
M'J"/2N&M25:G*F^JL>QEV-GEV,I8R"NX24O6SV^9\J_LE>)=*^)GPB\1_"35
M[G[/=O'.UH<@%H9.24]6CD);'HP]#7S-\3/A/XD^$NO2Z;K]A) N\B"\52;>
MY4?Q1OC!XQQU&>0*]!^.OP@UCX">.8=>\.2W-MHS2B>PO[=B&M9,G]TQ]1V)
MX(./6O3? W[<&FZUHZZ+\3O#<>K0L DEY:V\<L<O;,D#_+]2I]<*.E?#3C3J
M16&Q;Y)PT3Z->?Z,_I;#U<5A*D\YR*"Q&&Q'O3A>TXRZM>?\T=[_ 'G-_L>?
M ^W\3:_;^-];OK%-*TF0SV]G]H0RO,G(>1<_(B$;OFQD@=JP?V@/&[?M$?':
MQTK0'-SIL+II=C(G23YR9)A[$D\_W4!KL_B8W[,][X5O=7T1+EM688AL-)DG
MMY'D/0%95*(H[D+CT!/%=-^R+\ Y_#$0\::_:M!J-Q&5T^UE^]#$W61AV9AT
M] ?>MX8>510P5*SC>\FG?]-/)'F8G-:>%E7XCQJG&HDZ=*G4AR6;WLN9N7G+
M32_DE]-V=JEE:PV\8Q'"BQJ/8# J6BBON#^;&VW=G,W_ /R/FF_]>[?R>NFK
MF;__ )'S3?\ KW;^3UTU=%7:'I_F<]+>?K_D%%%%<YN4->T*P\3:3<Z9J=NM
MW87"A986) 8 @XR"#U JU:VL5C:PV\">7#"BQH@_A4# 'Y5+15<SMRWT%97O
MU-^W_P!1'_NC^524U%VJH]!BG5(PHHHH **** "BBB@ HHHH **** "BBB@
MJ"^_X\KC_KFW\C4]07W_ !Y7'_7-OY&@"EX9_P"0#9?]<_ZUJ5E^&?\ D V7
M_7/^M:E !1110 5E:AJ\L=T+*R@^T7FW<=QPD8]6/]*U:Q/"ZB2&\N3S+-<N
M6;V!P!^% "_9M=;DWEHI]%B)%'V77?\ G^M?^_1K:HH Q?LNN_\ /]:_]^C1
M]EUW_G^M?^_1K:HH Q?LNN_\_P!:_P#?HT?9==_Y_K7_ +]&MJB@#%^RZ[_S
M_6O_ 'Z-'V77?^?ZU_[]&MJB@#%^RZ[_ ,_UK_WZ-'V77?\ G^M?^_1K:HH
MQ?LNN_\ /]:_]^C1]EUW_G^M?^_1K:HH YZ\TO6KZUE@DO;8I(,$",BI8['7
M(HU1;ZVVJ !^Z/:MRB@#%^RZ[_S_ %K_ -^C1]EUW_G^M?\ OT:VJ* ,7[+K
MO_/]:_\ ?HT?9==_Y_K7_OT:VJ* ,7[+KO\ S_6O_?HT?9==_P"?ZU_[]&MJ
MB@#%^RZ[_P _UK_WZ-'V77?^?ZU_[]&MJB@#%^RZ[_S_ %K_ -^C1]EUW_G^
MM?\ OT:VJ* ,7[+KO_/]:_\ ?HT>1KT?S"ZM)2/X6C(!_$5M44 9VEZL;Z26
MWFA:VO(0-\3<CZ@]Q6C6)K"B'6](G48D9VB8^JD=#6W0 4444 %8]UJUS<7D
MEGIL*R2QG$L\IQ&GMQU-:EQ(8K>5QU521^ K,\*PK'H=LP^](#([=RQ/4T ,
M^RZ[_P _MJ/^V1H^RZ[_ ,_UK_WZ-;5% &+]EUW_ )_K7_OT:/LNN_\ /]:_
M]^C6U10!B_9==_Y_K7_OT:/LNN_\_P!:_P#?HUM44 8OV77?^?ZU_P"_1H^R
MZ[_S_6O_ 'Z-;5% &+]EUW_G^M?^_1H^RZ[_ ,_UK_WZ-;5% &+]EUW_ )_K
M7_OT:/LNN_\ /]:_]^C6U10!SEUH^L74UO(][;%H'WKB,CG'ZU9^RZ[_ ,_U
MK_WZ-;5% &+]EUW_ )_K7_OT:/LNN_\ /]:_]^C6U10!B_9==_Y_K7_OT:/L
MNN_\_P!:_P#?HUM44 8OV77?^?ZU_P"_1H^RZ[_S_6O_ 'Z-;5% &+]EUW_G
M^M?^_1H^RZ[_ ,_UK_WZ-;5% &+]EUW_ )_K7_OT:/LNN_\ /]:_]^C6U10!
MB_9==_Y_K7_OT:1FURS'F-]FOD'WHT!1\>W:MNB@"KINH1:I:K/%D*3@JPP5
M(Z@U:K$TY1;^)-3B0821$E*]MW0G\:VZ "BBB@!KNL:,S':JC))["L2/4M2U
MCY]/BCMK3^&:Y!+/[@#M]:D\6,?[':,' ED2,X]"PS6O'&L4:HBA448"CH *
M ,?[+KO_ #_6O_?HT?9==_Y_K7_OT:VJ* ,7[+KO_/\ 6O\ WZ-'V77?^?ZU
M_P"_1K:HH Q?LNN_\_UK_P!^C1]EUW_G^M?^_1K:HH Q?LNN_P#/]:_]^C1]
MEUW_ )_K7_OT:VJ* ,7[+KO_ #_6O_?HT?9==_Y_K7_OT:VJ* ,7[+KO_/\
M6O\ WZ-'V77?^?ZU_P"_1K:HH YR31]8DOHKLWMMYL:% ?+.,'VJS]EUW_G^
MM?\ OT:VJ* ,7[+KO_/]:_\ ?HT?9==_Y_K7_OT:VJ* ,7[+KO\ S_6O_?HT
M?9==_P"?ZU_[]&MJB@#%^RZ[_P _UK_WZ-'V77?^?ZU_[]&MJB@#%^RZ[_S_
M %K_ -^C1]EUW_G^M?\ OT:VJ* ,7[+KO_/]:_\ ?HT?9==_Y_K7_OT:VJ*
M,7[+KO\ S_6O_?HTR34M2T?Y]0BCN;3^*:V!#)[D'M]*W:;)&LL;(ZAD88*G
MH0: !'61%93N5AD$=Q3JQO";'^QQ&3D12/&,^@;BMF@ HHHH JZEJ$6EVK3R
MY*@X"J,EB>@%9RMKEX/,7[-8H?NQN"[X]^U&HJ+CQ)ID3\I&CRA>V[H#^%;=
M &+]EUW_ )_K7_OT:/LNN_\ /]:_]^C6U10!B_9==_Y_K7_OT:/LNN_\_P!:
M_P#?HUM44 8OV77?^?ZU_P"_1H^RZ[_S_6O_ 'Z-;5% &+]EUW_G^M?^_1H^
MRZ[_ ,_UK_WZ-;5% &+]EUW_ )_K7_OT:/LNN_\ /]:_]^C6U10!B_9==_Y_
MK7_OT:/LNN_\_P!:_P#?HUM44 <Y:Z/K%K-<2)>VP:=][9C)YQ^E6?LNN_\
M/]:_]^C6U10!B_9==_Y_K7_OT:/LNN_\_P!:_P#?HUM44 8OV77?^?ZU_P"_
M1H^RZ[_S_6O_ 'Z-;5% &+]EUW_G^M?^_1H^RZ[_ ,_UK_WZ-;5% &+]EUW_
M )_K7_OT:/LNN_\ /]:_]^C6U10!B_9==_Y_K7_OT:/LNN_\_P!:_P#?HUM4
M4 8OV77?^?ZU_P"_1I%U:\TR9(]4BC,,C!5NH,[03V8'I]:VZJ:M;I=:9=1R
M#<K1M_+(- %NBL_P_,UQHMD[G+&, GZ<5H4 %%%% &=JFK&QDBMX86N;R8'9
M$O ^I/856\C7I/F-U:1$_P *QD@?B:31U$VMZO.W,BNL2GT4#I6W0!B_9==_
MY_K7_OT:/LNN_P#/]:_]^C6U10!B_9==_P"?ZU_[]&C[+KO_ #_6O_?HUM44
M 8OV77?^?ZU_[]&C[+KO_/\ 6O\ WZ-;5% &+]EUW_G^M?\ OT:/LNN_\_UK
M_P!^C6U10!B_9==_Y_K7_OT:/LNN_P#/]:_]^C6U10!B_9==_P"?ZU_[]&FR
M6.N2QLC7UMM8$']T>];E% '/66E:U8VL4$=[;!(Q@ QD_K4_V77?^?ZU_P"_
M1K:HH Q?LNN_\_UK_P!^C1]EUW_G^M?^_1K:HH Q?LNN_P#/]:_]^C1]EUW_
M )_K7_OT:VJ* ,7[+KO_ #_6O_?HT?9==_Y_K7_OT:VJ* ,7[+KO_/\ 6O\
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
ME5/PS_R ;+_KG5R]_P"/.?\ ZYM_*J?AG_D V7_7.@#3HHHH **** "BBB@
MHHHH ***P/$5]??VAINF6$RVLMV79[AD#E%4 \ ]S51CS.Q,I<JN;]%<Y_PC
M^M?]#))_X")2_P#"/ZS_ -#)-_X"I5\D?YE^/^1'/+^5_A_F=%17 ^+-7@\"
MVEO=>(/'4>D6]Q,MO%)=11H'D;H!_,GH!R<"MS_A'=7_ .ACG_\  =*5H-M*
M:NO7_(TE&K&"J2IM1=[/H[;V].IT5%<Y_P ([JW_ $,=Q_WX2J6L1ZMX8L6U
M+^V)+V.%E\RWFA4!U+ 8!'0\U2IJ3LI*_P _\C)U'%7<=/D=A1116)L%%%%
M!1110 4444 %%%% &+:_\C9??]>Z?SK:K%M?^1LOO^O=/YUM4 %%%% &+XK_
M .0;%_U\1_\ H5;58OBO_D&Q?]?$?_H5;5 !1110 4444 %%%% !1110 445
MS4E]J/B*\N+:PD^P6-O*T,UWC,C,.JH.WU-7&/,1*7*;5]JMGIBAKNZBMP>G
MF. 3]!WK+;QUH_/ESR3G_IE [?KC%6-/\*Z9I[>8MLL\YY:>X_>2$^N3_2M8
M# P!@57[M=W^'^9/[Q]E^)A)XXT5F"O=F%C_ ,]HG3]2,5L6MY;WT?F6T\<\
M?]Z-@P_2I'C612KJ&4]0PR*Q;SPC832>?:AM-N^T]F=A_$#@C\*/W;[K\?\
M(/?7G^!N45@Z9JE[:ZDFE:HJRS.A>&[B&%E Z@KV8?E6]42BXLN,E)!1114E
M!1110 4444 %%%% !1110!B^$_\ D&R_]?$G\ZVJQ?"?_(-E_P"OB3^=;5 !
M1110!BW7_(U6/_7O)_.MJL6Z_P"1JL?^O>3^=;5 !1110 4444 %%%% !111
M0 445Y+X\NHO#7@/Q/XCAT>WU34;:^D5/M <QHK3A#))LRQ1 Q<[1G"FFW&,
M)3F]$:4:53$5H8>DKRFTE=VU>AZU17RUXM^+EUH'A#P;JL/@C3Q<ZQ;RW$RW
M N?+G9'"+!;[4+!Y0?,3S !MZUOZMX_%A\;--\&)X-M19W$EO$RRB;[5(DL)
MD>XC('E^5$PV/\V<@X]N3ZYAKVYGTZ=]NI[W^KN:<O-R1M:;^);4W:7W,^AJ
M*P_^$)T/_H&P_K_C1_PA.A_] V']?\:[K0[O[O\ @GS-Y]E]_P#P#<HK#_X0
MG0_^@;#^O^-1^$;6*R&KP0((X8[]PJ#H!L2CEC9M/^OO#FE=)K^ON.@HHHK,
MT"BBB@ HHHH **** "H+[_CRN/\ KFW\C4]07W_'E<?]<V_D: *7AG_D V7_
M %S_ *UJ5E^&?^0#9?\ 7/\ K6I0 4444 8NA_\ (2UC_KX'_H-;58NA_P#(
M2UC_ *^!_P"@UM4 %%%% !1110 4444 %%%% !1169XFNFLO#^H3(VQU@;:P
M[$C -5%<S2%)\J;(KSQ=HUC(T<VH0AUX*J2V/RS69_:M]XLF,>EN]CIB_?OF
M3#R>R ]O?_)Y[QGX^\,_!/X=P:UK$: ^4JQ6\:+YUU,5SM7/YDG@"OB_QQ^V
MI\1?$]](=*O8?#5AGY+>SA1WQ_M2."2?I@>U<&,S+"X!\KNY?U_6Y]?D/"&:
M\1P=6@E&FOM.Z5^RM=OY+YGWC)-J?A*19)IIM7TH\.[#,T/O_M#_ #]="W\:
M:)=,H348@6Z;\I_,"OSO\)_MC?$[PU>Q27.M+KEJI&^UU&!&##_?4!P?QK[0
M^"OQD\-?'WPW--%:16VJVX"WVFS!6>,GHZG^)#V;J#P:C"YMA<=+DLU+[KF^
M>\%9MP_2]O4M.EWC=V];V:^YKS/6E8,H(.0>012USW@.9Y/#-NDC%FA9XLGK
MA6.!^6*Z&O3G'EDX]CXB,N:*EW"BBBH*"BBB@ HHHH **** "L7Q9_R#8O\
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
M+%K';]Q;_P#HI:[Z?_(QGZ?HCRJW_(HI_P"+]6>V?LC9_P"%:7V#C_B:2_\
MHN.O;\'^\/RKQ#]D=MOPUON"?^)I+T_ZYQU6\1_&CQ'I?B#4K*#[%Y-O</$F
M^$D[02!GYNM>9/"U,5BJD:?1GU.7R4<'3OV/>=K?WOTHVM_>_2N:^'_B"Z\2
M>$;#4KQ5-S-OW^2N%X=@,#/H*Z/SC_<;]*\J47"3@]T>KN.VM_>_2C:W][]*
M;YQ_N-^E'G'^XWZ5(#MK?WOTHVM_>_2F^<?[C?I1YI_N-^E %76I)8='O9(9
MXK:=('9)IQF-&"G#-_L@\GVK@/!_B'6+SPCH5SJ'BG1+N_>V:2ZO+="+><DL
M%9"<8'&"/]DUZ)J$376GSQ*J,\D;*%E&4)((PP[BN+T_POK6FZ3IMI!8^'U\
MB%8WC\@JD9W,2$ '3!7CUS6J:Y&GO?\ S,)1ESJ2>EAP\1:CYASK^@;FSA0Y
M(&!VYZY_E7:V;&2UA8NLI**3(O1N.H]JXI?#VMPR!XM,\.Q\'($3Y))&><=,
M;OSKL-)^T?V;;?:HHX+@( \4/W%/H/:H9K$DO6:.SG96",L;$,W0''4UP'A7
MQ+?WWB&RMI_$NE7T;H[-:V\3+++A?O D#@=3]1T[^AR*LBLCJ&5A@J1D$>E<
M=I/AW5K'Q4+C[)HL.DJTFWR+<+<!2#LPP4?C0@>YT4?_ "'I?^N']16E6='_
M ,AZ7_KC_45HTF-!1112&%9?B;_D WO_ %S_ *UJ5E^)O^0#>_\ 7/\ K0!=
ML?\ CRM_^N:_R%3U!8_\>5O_ -<U_D*GH **** "BBB@ HHHH **** "BBB@
M HHHH **** "HKB!;B,HWX'TJ6B@#GY8VAD*,,$4RMN[M%ND]''0UC21M"Y5
MA@B@!M%%% !1110 4444 %%%% !1110 4444 %2V]NUQ(%7IW/I20P/</M4?
M4^E;5O;K;QA5Z]SZT .CC6&,(HP!3Z** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ J"^_X\KC_ *YM_(U/4%]_QY7'_7-OY&@"EX9_Y -E_P!<_P"M
M:E9?AG_D V7_ %S_ *UJ4 %%%% !6+X4_P"0;+_U\2?^A5M5B^%/^0;+_P!?
M$G_H5 &U1110 4444 %%%% !1110 4444 <%8FV_L/0?MIQ:?:+CS.2!UDQG
M'OBI>"^J?V&96B46Y_<,V<_O-V,\_P!VF:=)$NB:$ES=-:6KSW D99S"#@R$
M98$=\5,UX;9M4&E7TUS$@MRK).UQM)+[L$K)Z#MZ5Z#W=O\ @;GGJUE?_@[#
M=+CU^2]3FX4+\Q^U.PC/L>.:VM4_M#^P=6^V?9@OV23:(-Q/W#US6-8^*-2M
M5?SH)KPMT,J2KM^FVV'ZUYQ^TY\6O$/@KP':6&E:>D6M>))?L%DT,ADE7<!N
MPC(OS88*,\@L.*Y,55^KP=:HM%V/6RO U,TQ,,%AW[TW;79=V_)+5GIUU=0Q
M7'@^)YHTE<C:C, S?N3T'>NOK\Y(?@?IVI6=U>:YKNL:EK DF6YO-.6VEC66
M,9E$22SI+=^7_&8AQT&<5[1^RS\1O$GA[QP/ASXBU,:]IMU8B_T/5%<NDD 4
MD;&8!BA4'Y3RK(R\8(KP:>:.K4C"I3Y4]G>_WGZ!CN#:>%PE3$8/%*K*FKRC
MRN.BW<6V[VWL[.VI]9T445[)^<A1110 4444 %%%% !1110!BZ]_R$M&_P"O
M@_RK:K%U[_D):-_U\'^5;5 !1110!!>_\><__7-OY53\,_\ (!LO^N=7+W_C
MSG_ZYM_*J?AG_D V7_7.@#3HHHH **** "BBB@ HHHH *YS6/^1R\/\ ^Y<?
M^@"N@FF2WA>65@D<:EF9N@ &2:X+Q+XDM+K7='GT_4K>-H5F#32*61,J.H]^
M:Z*,7*6G9_D85I*,=>Z_,] KXE_:7^ WQ:^*OQ4O]3L]&CO]%A1+?3BE_ BK
M$!D_*[J0Q8L3QU]0!7TY_P )1=?]#+IO_@.U'_"47/\ T,VG?^ S5R8O+?KD
M/9S;2\K_ .1]!D?$E7A_$O%X:$92:M[VMKVVM):_H?&?@/\ 9[^._P -]1OK
M[0O#L-O<7EG)83-)>V<@,+E2P ,G!RHYKFO^&-_BY_T*R_\ @RM?_CM?H/:P
M^(+ZWCG@UFSDAD&5=;;@C\ZSKS7+ZQN'@G\2V$<T9PR_9B<&O(_U>H27)[1N
MWG_]J?<KQ/S6G.598>DI2M=\KUMMK[3IT.<_9?\ #?C3P=\+H-"\:VB6EW83
MO%9*+A)F^S8!4,4)'#%P.>@ P,5W7Q _Y%#4/HG_ *,6L'_A*+C_ *&FQ_\
M 0UF^(M>EO-&N86\06MZ&"_N([8JS?,#P>WK^%?187!N@H03NHVWO_D?E^99
ME_:->KBIQ493;;4=%=[V5VSU%?NBEK/TG7+'6ED^Q7"S^7C?M!&,YQU'L:T*
MP:<79D)IJZ"BBBD,**** "BBB@ HHHH Q;7_ )&R^_Z]T_G6U6+:_P#(V7W_
M %[I_.MJ@ HHHH Q?%?_ "#8O^OB/_T*MJL7Q7_R#8O^OB/_ -"K:H ****
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
M<*45"FK)!11169H%%%% !6-XD_U<'^\?Y5LUB^)?]3#_ +Q_E36XGL:.F_\
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
MC_KFW\C0!2\,_P#(!LO^N?\ 6M2LOPS_ ,@&R_ZY_P!:U* "BBB@ K%\*?\
M(-E_Z^)/_0JVJQ?"?_(-E_Z[R?SH VJ*** "BBB@ HHHH **** "BBB@#C=!
MUA-+T>*RN]-OVEC>0G%HS+R[$8./0UI1^*K6/.S3-13/7;9,/Z5T%%;.<9.[
M7XF,82BDD_P,'_A+H/\ H'ZG_P" ;UX7^U?INK>*/#WA_P 1>&;#4?[<\+WP
MU"$-9.3M^4D@8YP41L=P#7TE17+B*=/$4I4FK7\SULLQU;*\93QE.S<7LUHT
M]&GZIM'YUZ-\3O D=BCB2;0;JU>>6TMI]*:[FTJ68#S5M)5G160MDJ)DRAS]
M[.3Z7^ROX?NO'GQ*L/%UIH\NB^#?#&G-IND17!W/(SA][[L ,Y,DC,P&,N!V
MKZ6U+X,> ]8U=M4OO!^BW5^[;WFEL8V,C'^)AC#'W.:ZZUM8+&VBMK:&.WMX
ME"1PQ*%1%'   X KPZ&6SA44JLE9=EOVO_DNR[(_0\RXOPU?"5*.#I24ZB:;
MG)-13O?ELE=M-J\M=9/>3O+1117T!^6!1110 4444 %%%% !1110!BZ]_P A
M+1O^O@_RK:K%U[_D):-_U\'^5;5 !1110!!>_P#'G/\ ]<V_E5/PS_R ;+_K
MG5R^_P"/*X_ZYM_*J?AG_D V7_7.@#3HHHH **** "BBB@ HHHH KZA:B_L;
MFV8[5FC:,GTR"/ZUR>G:DNBV<-EJ6AW#7%NOEB:WMA(D@' (;UQ7:45K&?*K
M-:&<H<SNF<M_PE&G_P#0$O\ _P  :;)XDT^2-T.BZ@ P(.++GFNKHI\\>WXD
M\DN_X'FUNRV<*0P7'B6*)!A46W  %7]&U"RTE;@MI^L7LL[^8\MQ:9;.,5W5
M%:.LI:-$*BXZIG+_ /"56?\ T!-2_P# +_Z]'_"56W1-"U)F[+]BQG]:ZBBL
M^>/\OXE\LN_X&!X7T^YCFU#4;N$6LU\ZD6_&411A0<=^:WZ**SE+F=V:1CRJ
MP4445)04444 %%%% !1110!BVO\ R-E]_P!>Z?SK:K%M?^1LOO\ KW3^=;5
M!1110!B^*_\ D&Q?]?$?_H5;58OBO_D&Q?\ 7Q'_ #K:H **** "BBB@ HHH
MH **** "BBB@#G;W2;G1[V34=(4.)/FN;$G"R_[2^C?SK2TC7+76H2]NY#KQ
M)"XVR1GT8=JT*R=6\-VNJRB?=):7BC"W5L^R3'IGN/K6W,I:3^\RY7'6'W'Q
MY^W!JOBSQ9XRT[PGIFAZE<Z18PK=;K6W>5;B5P?F^4'A1Q@]R:\"\#^%?%W@
M_P 6:9K4O@'5-7CLY?,-C=Z9,8IN"-K#8>.?3M7ZC:3H=GHL;"VC_>/R\TAW
M2.?4MWK0KYK$91&O7=?VCOZ(_6LKX]GEF6PRV.$BXI-/WFKWW>V[_P"&/RA\
M5>"_%_B;Q-JNK)X&U;3DOKF2X6SM],F$<(9B=BC9T&<#Z5],?L,WGC'PWJVK
M^%]7T#5K30YHC>Q7%Y:R11P3 A2H+ #YP1P/[N?6OL:BEA\H6'K*LJCOZ#S;
MCR6;9=++JF%BHM))\S=K;-:= HHHKZ _*0HHHH **** "BBB@ HHHH Q?"?_
M "#9?^OB3^=;58OA/_D&R_\ 7Q)_.MJ@ HHHH Q;K_D:K'_KWD_G6U6+=?\
M(UV/_7N_\ZVJ "BBB@ HHHH **** "BBB@ KGO#-Y!#'J:R3QHW]H7'RLX!^
M^:Z&J$OA_2YY'DDTVTDD8[F=H$))/<G%7%JS3(DG=-$_]H6O_/S#_P!_!_C1
M_:%K_P _,/\ W\'^-5?^$;TC_H%67_@.G^%'_"-Z1_T"K+_P'3_"G[GF+W_(
MQ;^SDCUJWDTJ\L=/M61A.\:)NW<X)&1N]O0UHZ78Z=ITK7#WJW=ZXPUS/*I?
M'H/[H]A5G_A&](_Z!5E_X#I_A1_PC>D?] JR_P# =/\ "KYHVY5H2U-RYI:O
MU9:_M"U_Y^8?^_@_QK+\+NLDNM,K!E.H.00<@_(E6O\ A&](_P"@59?^ Z?X
M5;M+&WL(S';6\5M&3N*PH%&?7 J+Q2:15I-ILGHHHK,T"BBB@ HHHH ****
M"H+[_CRN/^N;?R-3U!??\>5Q_P!<V_D: *7AG_D V7_7/^M:E9?AG_D V7_7
M/^M:E !1110!BZ'_ ,A+6/\ KX'_ *#6U6+H7_(2UC_KX'\JVJ "BBB@ HHH
MH **** "BBB@ HHHH YSQU(S:/'8QG$M]/';KCK@G)/Y#]:M>(K>%?#%_$PV
MPI;,![87C]0*J^)M#U'5]3TZ6SN8K6.VWDR.-S!C@9"XP>*P=<T[5M/7^R3<
M3:A9ZE)&HN)#EXFW#</8$#/^379"*DHI2\_Z^1R3DXN3:\CIO".H?VEX<L9B
M<N(Q&WKN7Y3_ "_6JOA/_0=0UK3#P(;CSHQ_L2#( ^F/UK%M]/U'^UK_ $*T
M:2SL?M/VE[J,D%(V (13]?Y'WK7T?P[JFF^(S>3WL=[;M 82[#;(<'*Y'0GW
MS1*,5S:[ZH492?+IMH=11117&=@4444 %%%% !1110 4444 %8OBS_D&Q?\
M7Q'_ #K:K%\6?\@V+_KXC_G0!M4444 %9?B;_D WO_7/^M:E9?B;_D WO_7/
M^M %VQ_X\K?_ *YK_(5/4%C_ ,>5O_US7^0J>@ HHHH **** ,KQ'_QXI_UT
M'\C6,NJ72_\ +=Q6SXC_ ./%/^N@_D:KZYJ6F>'-/2\O8/W+.D7[N+<=S' X
M^M6GH0^YG_VK=?\ /=Z/[5NO^>[U2;XC>%XX8Y2)"LBNR8MCEMN[./\ OAOR
MJJWQ9\((T8;SEWE0#]E.!N4,,^F0:KY$W\S7_M6Z_P">[T?VK=?\]WJK_P +
M#\,?8UN2LBHTC1JIMSN+*%+<=> Z_G4:?$KPK)'&X$H#QB4;K8C +;1G([FC
M7L%_,O?VK=?\]WH_M6Z_Y[O5&W^)7A6ZF6&/S//92R1&V(9L<8''7/'UI/\
MA9?A8S&(+(Q'&X6_!Z]/^^31KV#YE_\ M6Z_Y[O1_:MU_P ]WJKI?Q"\,ZU=
M106BR2/(_E@M;E0#N*C)/N"*Z[^S[;_GBG_?(I-VW0U=[,YO^U;K_GN]0W%W
M-<J!)(S@= :ZK^S[;_GBG_?(H_L^V_YXI_WR*7,/E9S,>HW$2A%F8*O 'I3O
M[4NO^>[UTG]GVW_/%/\ OD4?V?;?\\4_[Y%',%GW.:_M2Y_Y[-^E']J77_/=
MOTKI?[/MO^>*?]\BC^S[;_GBG_?(HY@L^YS?]J77_/=_TH_M2Z_Y[O\ I72?
MV?;?\\4_[Y%']GVW_/%/^^11S!9]SF_[5NO^>[T?VK=?\]WJUK]ND,\(C14!
M4YVC%+K^M:-X7A@EU!1&DIVAEBW8P,\X'2G<G7JRI_:MU_SW>C^U;K_GN]06
M_CWPS<7$4";O,D@^T#,& %QG!/8]./<5#_PL?PO]CDN\2?9XY?)+_9C][YN/
M_'31?R#YEW^U;K_GN]']J77_ #W?]*SE^*'A(QAF,B!E#KOMR-RG'(_,5TV@
MWFF>(]+AU"RC#VLV[8S1@$X)!X^H-&W0:UV9E?VK=?\ /=Z/[4NO^>[_ *5T
MG]GVW_/%/^^11_9]M_SQ3_OD4N8=GW.;_M6Z_P">[T?VI=?\]W_2ND_L^V_Y
MXI_WR*/[/MO^>*?]\BCF"S[G-_VI=?\ /=Z/[4NO^>[_ *5TG]GVW_/%/^^1
M1_9]M_SQ3_OD4<P6?<YO^U;K_GN]']JW7_/=ZZ3^S[;_ )XI_P!\BC^S[;_G
MBG_?(HY@L^YS?]JW7_/=Z/[5NO\ GN]=)_9]M_SQ3_OD4?V?;?\ /%/^^11S
M!9]SF_[5NO\ GN]']JW7_/=_TKI/[/MO^>*?]\BC^S[;_GBG_?(I<P6?<R-!
MF>XU&1Y&+MY1Y/U%=!6;#%'#K)6-%0>1GY1C^(5I4F.(4444B@K+\3?\@&]_
MZY_UK4K+\3?\@&]_ZY_UH NV/_'E;_\ 7-?Y"IZ@L?\ CRM_^N:_R%3T %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !3'A23[R*W
MU%/HH K-IT#?P8^A-1G2H?5Q^-7:* *8TN'U8_C3UT^!?X,_4FK-% #5C6/[
MJA?H*=110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %07W_ !Y7'_7-OY&IZ@OO^/*X_P"N;?R- %+PS_R ;+_KG_6M2LOPS_R
M;+_KG_6M2@ HHHH *Q?"?_(-D_Z[R?SK:K%\)_\ (-D_Z[R?SH VJ*** "BB
MB@ HHHH **** "BBB@ HKYX_:%_;G^'/[-/Q!\/>#_%<.LW.I:O"ETTVEP0R
M06$#S"%9;EGE0HA;/(#<*>^ ?H>@ HHHH ***Y#P=\6O"7Q \3^+/#WA_6$U
M+5_"EU'9:S;QPR*+69U+*F]E"N<*<["V""#@\4 =?1110 4444 %%%% !111
M0 4444 8NO?\A+1O^O@_RK:K%U[_ )"6C?\ 7P?Y5M4 %%%% $%]_P >5Q_U
MS;^1JGX9_P"0#9?]<ZN7W_'E<?\ 7-OY&J?AG_D V7_7.@#3HHHH **** "B
MBO+/VAOVB_#?[,_A?2/$7BRQU6XT74-5ATE[S38HI$LGE#%99]\B;8AL.67<
M1P,<B@#U.BO*/VAOVDO#'[-OAG1-7\0V6JZN^MZI#H^G:=H<,4UU<W$@8J%6
M22-=OR\DMU*CO7JRG<H)&T^A[4 +17BW[4W[1W_#-/AGP?J__"/?\)'_ ,)!
MXGL_#?D_;?LOD>>DS>=GRWW;?*QLP,[OO#'/M- !1110 4444 %%>+?\-'_\
M9;_\*1_X1[_F6/\ A(_[=^V_]-O*\GR/+_'?O]MO>NT^,GC3Q%\/?AWJFO>%
M/!ES\0-=M?+^S^'[2[6UDN=TBJQ$C*P&U6+?=).V@#M:*\)\0?M.7'AS]H+X
M1_"R\\(20W?CS2[K4)KR74 'TMX+:29H3$(R)3F,IN#J!G//0[_@WXU:K-X8
M\>^(OB+X+N?AEHOA:[N@MWJ%XMTM[8PJ6-XHC0%00#\@#'L"QH ]7HK$\%>,
MM'^(GA'1_$_AZ\_M#0]7M8[RRNO*>+S874,K;7 9<@]& /M6W0 4444 %%%%
M !1110!BVO\ R-E]_P!>Z?SK:K%M?^1LOO\ KW3^=;5 !1110!B^+/\ D&Q?
M]?$?\ZVJQ?%G_(-B_P"OB/\ G6U0 4444 %%%% !1110 4444 %%8_C+Q(G@
MWPCKGB"6POM4CTFQGOVL=+A\ZZN1%&SF.&/(WR-MVJN1DD#(KY#7_@JCX(?Q
M(_AU?A'\8&\0)#]I;2AX:@-TL60/,,7VK=MY'S8QS0!]J45X-\,OVJ$^)7[0
MVO\ PQC\*76D)I?ANQ\1+J%]<[9V%RD+B"2VV?NW3SL']XW*GBO>: "BBB@
MHHKD+[XM>$M-^*&F_#JXUA$\9ZCI\FJVVE"&1F>U1BK2EPNQ1N# !F!.TX!P
M: .OHHHH **** "BBB@ HHHH **** ,7PG_R#9?^OB3^=;58OA/_ )!LO_7Q
M)_.MJ@ HHHH Q;K_ )&NR_Z]W_G6U6+=?\C79?\ 7N_\ZVJ "BBB@ HHHH *
M*** "BBODKX@?\%*/ /P\^(WB_P=<>"/B%K-UX3F$6KZCHNCPW-G:KMW>:[B
MX#*F,G+*/NGCB@#ZUHKD?A/\5O#/QL^'^D^,_"&H?VGH&IHS03F-HV!5BCHR
ML 5965E(/<<9&#774 %%%% !1110 4444 %%%% !1110 4444 %%%% !4%]_
MQY7'_7-OY&IZ@OO^/*X_ZYM_(T 4O#/_ " ;+_KG_6M2LOPS_P @&R_ZY_UK
M4H **** ,70?^0EK'_7P/Y5M5BZ#_P A+6/^O@?RK:H **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *Q?%G_(-B_Z^
M(_YUM5B^+/\ D&Q?]?$?\Z -JBBB@ K+\3?\@&]_ZY_UK4K+\3?\@&]_ZY_U
MH NV/_'E;_\ 7-?Y"IZ@L?\ CRM_^N:_R%3T %%%% !1110!E>)/^/%/^N@_
MD:MW%C;ZC:B&Z@CN(C@[)%##/K53Q)_QXI_UT'\C6E%_JU^E/H+J4)/#FES+
M&'TZU<1IY:!H@0J\\#VY/YFHU\)Z,D?EC2[/9Q\ODKCC..W;)K6HHN%D9</A
MC2+< 1Z9:H%8NH$2\,1@D<<$BHYO"&B7#%I=)LY6/4O I]/4>PK8HHNPLC*_
MX171@7(TNS!;[Q\E>>,>E,_X0_1./^)39=,<0*/Z5L44786,J'PMH]O(DD6F
M6L3H059(E!!'(/%:M5-2NSI]A/<B*2?RD+^7'RS8&<#WKD=0^*ECI%U!;76F
M:N9IH5E406C2CE=VTXZ$#UP"<CL:R]K%S]G?WK7^17+I<[FBO.O^%Y:'D#^S
M->5FZ;M+E ]CG& /K38?CCHTT22C3=:6)]VW=8.&(7.2%Z]5Q[Y&,Y%:"/1Z
M*X_0?B?I?B+6K?3+>RU:&YFB,RM=6$D<84#/+D8!/8'FM7QAXF_X1/13J']G
MW>IXECB^SV2;Y/F8#./09JHQ<Y*,=V3*2BKLVZ*X#5/C'I&BZI<V%SI^LM<0
MRF(?9[%Y@_ .X%<X'NV/U%)+\9]&M[N:VET_65ECE>-0M@[A]O.05SP1R,X[
M]P0)*/0**R?#'B2V\6:4NH6D-U!"SL@6\@:%_E."=K<X/8]ZUJ ,#Q)_Q\0?
M[IK6GL;:^CC%S;Q7 7E?-0-CC'&:R?$G_'Q!_NFMU/NK]*HA;LIQZ%IL>-FG
MVJ?N_)^6%1^[_N=/N\GCI49\-Z2T>PZ79F/^[]G3'?MCW/YFM*BD58SV\/Z6
MP ;3;1@,  P+QCIVJW;6L-G"(K>&."($D)&H51DY/ ]ZEHI %%%% PHHILC;
M8V/)P,\=: '45YAX>^/&DZ[X /BY]'UW3K!;V6R-K=6++<[D9E+^6"3M.T\U
MV/A?QIIOC*"XETQIV2W<))YT#Q')&>-P&1@]1D4D[ZHTJ4YT9NG45FMS>HK"
MM_%4,WBB]T3[+=)+:VZW+7#1XA<$XPK=S_\ 7KE6^/'AR&X2&>WU6&1X1,O^
M@NZD%%8#*Y&<-T_V3Z5,9QG?E9+BX[GH]%<GX-^)&D^.FGCTY+R&:%!(\5Y;
MM$VTD@'G@YQ^M:,GBB"&35U>WN@NFQ>;(PB)#C:6PG]X\=*F=2,'&,GJ]%]U
MQ)-W:Z&W17G@^.7AT321/!JBNJ;QBPD8-^[60@$ YPK#^745T/A'QSIOC2*9
MK%+F)X51I(KJ$QLN\$KUZY [5J(TQ_R'#_U[_P#LPJ_5 ?\ (</_ %[_ /LP
MJ_38D%%%%(85E^)O^0#>_P#7/^M:E9?B;_D WO\ US_K0!=L?^/*W_ZYK_(5
M/4%C_P >5O\ ]<U_D*GH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBO._V@OC7H_[._P?\2?$#6XI+JSTB ,EI$P5[F9W6.*)2<XW.Z@G!V@DX.*
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
M&\#<?E;*DX)' K]);KX#^!KSQWX-\93:'O\ $G@^SDL-#O?M<X^R021-$Z;
M^Q\HS#+JQYR#GFJ_A;]GGX=^#=!\9:)I?AF!-(\87EQJ&NV=U-+<QWTTXQ,S
M"5VVAA_"N%'8"@#\[-0_9#\%2?\ !.;2O'_PVTR.P^)ECIFD^,;Z^M;Z6>:2
M>VCD:0['=ECPDMP^U%4%D7@[1CT[]G/Q9#^VM^VZGQ;6W8>%_A_X1L+>QB<'
M8NJ7L!DE !ZF,2W"'KS'&?0U[+K_ ,"?^&3O >K1_LT?!C3=?UCQ-<+!JUG?
M:ZT<21+%-Y<SFZF.]$9R/*1ER)#]:WOV$?V8I?V5/@)8^%]3DMKCQ-?7,FIZ
MQ/:DM'Y[A56-6(R52-$7T)#$?>H ^B**** "BBB@ HHHH Q;7_D;+[_KW3^=
M;58MK_R-E]_U[I_.MJ@ HHHH Q?%G_(-B_Z^(_YUM5B^+/\ D&Q?]?$?\ZVJ
M "BBB@ HHHH **** "BBB@ KX9TC_E+]K?\ V3U?_1D-?<U<+#\$?!5O\8)_
MBC'HNWQW-IW]E2:M]JGYM<@^7Y6_RNJCYMF[CK0!\.^)/@'X?_:(_P""F7Q9
M\.>+9M0;PS%X2L+FYT_3[V2U^UOLMEC65HR"R+N9MN<%@A[5X FL:K:_\$S_
M (Y>')]6O=0L?"OC^'3=*:[F+R6\"7-J516[#=EL# !8XQFOUGTOX-^#]%^*
MFM?$BRTCR?&FLV4>GWVI_:9F\Z"/;L3RBYC7&Q>54'CD]:XIOV-?@])\/_%'
M@AO"&?"_B;5/[9U:Q_M.\_TF[W*WF>9YV].44[495XZ4 ?&G[6_PMU#]D_\
M9!UOQ+X-\1>(]2\9?$+4])M_&'BB^U)C<.@CN)#(K #RD,D@BP/X9 "3CG4_
M9O\ @]XT^"?Q^\->,-#\!0?"KX47&BWC>(["'QZOB&/5@MM)+%>1H<,9-ZQ9
M* C;G&T%L_H'XE\"^'_&7A"Z\*Z]I%KK'AVZ@%M/IU]&)8I(QC:"&SR" 0>H
M(!!R,UY?\)?V*_@M\"_%$_B+P1X&M]&UF:%[=[IKVZN3Y;_?15FE=5![@ 4
M?EK^T%KFA^*?A=J'Q_\ AS\-M6\%RW7B;.G_ ! U+QS))J4LIF=GACT\%E1%
M(./FRH'\0KW+XD? OX<?%7_@IAI6C^/-,&HZ+KO@B/6K^&ZU2Y@66]^<!U=9
M59!A!B-"$X^[UKZ=U7]AW]E+PWJTNBZEX+\-Z7J?C M!!876K30SW91UE9;-
M&G#(5(4D6X7 XZ'%>B_%[]D#X/\ QXOM(O?'7@FUUV]TF!;6TN?M-Q;RK"IR
ML;-%(AD4$DA7+ ;F]3D ]<L88;6SMX;8 6\<:I%M;<-H&!SWXJ>H[>WCM;>*
M"%!'%&H1%'0*!@#\JDH **** "BBB@ HHHH **** ,7PG_R#9?\ KXD_G6U6
M+X3_ .0;+_U\2?SK:H **** ,6Z_Y&NR_P"O=_YUM5BW7_(UV7_7N_\ .MJ@
M HHHH **** "BBB@ K\B?%'C#XR>!?VC/VQ]9^$NFZ'J,-J('UP:E%++>16^
MQP)+1%8(S*#*S;P1A> 3P?UVKA/"/P.\$>!/'7B_QCH>B"S\1^+6C?6KQKJ:
M4793(7]V[E$QN/W%7.>: /S/^*ES%\'O^"<GP5T3X9>*+K5O"_BSQ#&NNZW#
M>#36E:42R2V;R986R[U*,23M\@[L@MGT'X1_L\_$WX?^-_&5MX9T2U_9^^'O
MB+P3>6K61\<KK<5O?X(BU)&8K)& 712R@[<DAAN 'V9H/[)/PD\-?#_Q!X&L
MO!=J?"&NW;7]]HMU<3W-LTYQ^\C261A"?E7'E;<;5QC K%\ ?L+_  +^%]MX
MA@\-^ +6QC\0:?+I6I^9>W5P;BTD*F2',LK%58HI(4C[HH ^+OV-_".F?LW_
M +3WA#P+\2OAS=Z#\3]4MKM],\;Z/XCN+VP\0@Q2EI)X&<J#LWX8 ?,02B]:
M\0\#?##P'XF_8K^+?C_6_%.H0>.O!_B&\70(%UA[=--9I('3RH-V"TSR."^,
MG@#!3-?J7\'_ -BOX*_ 7Q.?$?@;P)::/KFQHTOY+JYNY8E8881F>1]F1D$K
MC@D=":^=/V4_^"='A.;X?7$GQQ^&-C-XOM_$=]>6;RWP=GM',;1>8;:;9(F0
M^$DW8R>!GD \KU[4KW]IKXT_LU_#_P",NL:A9^!]:^'%OKMS:?;'M(]:U-H9
M2S2NI'S8C1L=1SC'F 5AZ#JEQX=^#?[;GPQT37+O7OAMX2BC303=7)NELM[R
MK)!'*<Y4>6!MSP8R>I8G]'?B_P#LU_#+X]:#I^C^._!]AKMCIW%D,O;R6JX
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
M19]2ATV1M-B662%I%<B0JS+E1LYP<\\ ]* /R,_97_;0\>_\$]M6U?X:>.O
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
M^K_M;?'WQ=\7OC1X#^&?@OP9J<O@*Y21=2UN:XA3[,8RPB9%D'F3.5?:P:-
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
MJFJ>/O'>O_#CXOZQ\,=,\?,9/%&BVNF17<=[(P<2/$Y=&A+>9(21N.Z1CG&
M/L*B@#Y>N/V$/#^F6?P%TWPQKLNB:/\ "K5'U1+>XM/M,NJ.[H\A>3S$\MF=
M68L%8#?@*  *ZWPW^S%_PC_[8'BOXZ?\)+]H_MWP\F@_V#]@V^1M:V/F^?YI
MW?\ 'M]WRQ]_KQS[I10!^7W[9/[,<?[/G['NJ^&YO$3>(X?%'Q5AUYYELOLA
MMUN8C&80/,DW%1%G?QG=]T8Y^FOA?^Q%J'AGX]:=\4O'GQ4UGXGZIH-G)8>'
MK?4[&*W&GQ.'7,C(Q$TFV1QOVIDMDYP,?4]% 'R"O_!/W;^S'\5OA#_PGF?^
M$Z\3MXD_MG^Q_P#CQS/:2^3Y/G_O/^/3&_>O^LSM^7!T?B1^Q#J_B'XJ>"?B
M/X(^*=Y\/_%_A_08O#L]Y'HL&H)=VZ!E++',^V)R'<9.\#Y<#()/U;10!\4W
M7_!->%O@K\5/AY!\2+R1?'6NVVN-J^H:4L\]N\;H[APLR"5G96)8>6!N^[Q7
MK'QE_94_X6Y\2O@=XL_X2C^RO^%9WDEW]C_L_P [^TMYMCMW^:ODX^S=</\
M?]N??J* /D#Q%^P=XCTGXK>,?&/PH^-6L?"RV\977VW7M)MM)BODGF)8L\3O
M(OE$EY&SAB"YP< "NB^)W[&FK:Y\3-.^)7PZ^*FK?#;XA1Z1%HNHZM_9T.J0
MZI @4!IX)2H:0[5RQ)'R(< C)^G:* .*^$/@SQ)X$\&Q:9XL\:W7Q UTS/-/
MK=W9QVADW$8588_E15QP!7:T44 %%%% !1110 5B^+/^0;%_U\1_SK:K%\6?
M\@V+_KXC_G0!M4444 %9?B;_ ) -[_US_K6I67XF_P"0#>_]<_ZT 7;'_CRM
M_P#KFO\ (5/4%C_QY6__ %S7^0J>@ HHHH **** ,KQ)_P >*?\ 70?R-<-\
M:KMX](TNW!.R25G8#OM7C^==SXD_X\4_ZZ#^1KD?B]I+WWANWNXUW-9OO8?[
M)&"?Y5\UQ-"I4R?$1I[V_!--_A<[L XQQ4'+8T=$9/!OPW2\BM7NWAM/M)@B
M^_,Y&<#W)(%8.D_&J+7'>*QTT23+/;P*DDS(93(5#%,IR$9P#G!X)P.,ZWP[
MURT\2^%5TNZ6.:6"/R)K>10P>/& 2#U!'!KI;3P[I-E,)K?3+."4! 'C@56P
M@(3D#^$$@>@-=V4UJ%; 494/AY5^6J];[F.(C*-62GO<\;_:N\/P3^&-+UC:
MHNK:Y%N7QRT;@G'Y@'\Z]$^"^J2:Q\+_  [<3,7E^S>46)R3L8H#^2UX[^U!
MXZ@UBZL/"NFR?:I8)?/N?*.[]YC:D?\ O<DD>XKW/X<^'7\*>!]%TJ08FMK9
M5D_WS\S?J37Z%C$Z>38>%7XG)M?X?^"SP:-I8RI*.UDGZG25YK\;KEX]%T^$
M'"R7!+?@IQ_.O2JXKXJ:*=7\,O(I56LW^T%FS@* =W3VR?PK\US[#U<5EE:C
M05Y-:)=?+YGT6#G"G7A.>R8FAWUMX/\ ABNI&)I8K6Q:\D2+[TA"EB![GI6*
MOQJ61D2/1FF=HD<(ER 2QD$;Q@,H)=7.W:.>YV@@G-^#WQ4T+Q1:OX;:;,T"
MF.$7:A!=QG.=JGKC)&T\D<X]/0V\$>'2@4Z#INU0F!]DCXV A.W8$X],U[&'
MPE; 8>EA\13<)*,;I]-#EE5A6G*<)73;U^9YI^U1I=O<?#^VO60?:+6]C$;=
M\."K#Z=/R%=)^S_?2WWPHT,RDDQ+)""?[JR,!^F/RKR7]H_XC0>*KRR\+:*X
MO5@GWSO"=PDF^ZD:XZXR<^Y'I7O/PW\,GP?X'T;2'_UUO !+_P!=#\S?J37V
M6*C+#Y-1I5OBE-R2ZJ-CQZ353&3E#9*WS.F;I7FWQJNY(]&L8 2$DF+,/7:O
M'\Z]);I7!_%[1Y-0\,K<1*6:TE\Q@/[I&&/\C7YAQ'"I4RG$1I[\OX)Z_@?2
M8&48XF#EM<ETFXB\#_#6"_2V^T^5"MQ(BL%+EB,G/L#^E5/&?Q<A\$ZI<6]U
MI<US;PK&?/MY Y!?(4,H'R D-@D]$=C@#)F^&FO6GB#PW'IER(Y)[9/+>&0
MAT!^4X/7L/PKI?\ A%=&^W2WG]DV7VN;_63_ &=-[_5L9/4]:Z\GK4:V7T94
M/AY4OPU1CB8SA6DI[W/(/VI=%AOO!&DZT\:)>V]PL>5.[Y)%.5SW&0#7>_ _
M4)=3^%?AZ:9B\BP&+<>X1F4?H!7'?&RXTOQ%8VGAA/-$4$BR-]C*CRV VH@&
M"#@$\<=N:]'^'?AM?"'@W2]'5VE^RP@%V7:2Q)8\9..2:^FIYW@<=@/[/HSY
MJM&>JL[)-=]GKV/.>#K4<1[>2M&2)?$G_'Q!_NFJ_C3P4/&5OIZC5M0TB2TD
M,J2Z?*$8DH5P<CH,YJQXD_X^(/\ =-0>,O#>J>(K>Q&EZ_<:!) Y=Y+= YD!
M4C!!.."<\Y'M7&S=;LY^Q^$=UI^H"YA\:^(?+:9IY;>2=71B4*X&1P,X..>G
MY,/P862%%G\7>))YXXXE2X>]^=73=\_3JQ?)'3@4UOA[XR:0+_PL"\\CR\#_
M $2+?O#9!SZ5:N/ ?B>8VKQ^.+R*6-=LI%LI$WSNWW<X7@JN0,X7KZ(H+CX4
MW%RKC_A,?$<>['$5Z5''Z\_6NRT/39-'T>TLY;N:_EAC"/<SG+RMW8_4UPMK
M\/O&5O(G_%PKR2'?O96LHBQ^;+#)SUZ>P_#'I% 'BW[47P(U'X_^"=-T'3/$
M7_"-SVU^MXUTT3R;U$;KLPK*>K ]>U?+W_#L;QA_T5B/_P  IO\ X]7T_P#M
M3?!'7/CMX)TW0] \1+X:N[>_6\>Z;S/G01NNSY"#U8'\*^7?^'</Q+'_ #5B
M'\?M7_Q=<-:GS3O[._S/T[A_,GA<"J:S&-#5^ZZ7._6]NH[_ (=C^+^?^+L1
MC'_3E-_\>I3_ ,$R/%_'_%UX_P#P"G_^/4S_ (=P?$IL_P#%V(C^-U_\775_
M#']@WX@>!?%,>J7OQ+BU&!8)8C!FYY+K@'EL<5RRIN,6U1N_4]^KGE6$'*&<
M0DUT]AO_ .2G<?#S]CWQ!X-\'6&CS^-DO9K=I"UQ]GD&[=(S#@R'H#CKVKI8
M_P!FG6;:6.5O%:,J.K$>3)S@CC[]11_LX>*&4'_A+(__ "-_\54D/[.WB:WG
MBD?Q7&ZI(K%?WW(!!Q]ZOF*F%=:;G/!2N_[_ /P3XNKCY5)2G+&1;=V_<ZOY
M'7-\'=2DD<C6XP"20/+;C_QZI;'X1ZA9W]M,VLI((Y%D*^6PR 0<?>K9\%^
M]0\-ZU)=W6I+=Q-$R",;L@D@YY/M7<?\M1]#_2M,!P]@JT/;5\/*G-/9S;V>
MCWL?.5L;6B^6-127H*HIL8&Y_K_2GTR/[S_7^E?=GDCZ9;_ZE/I4E1V_^I3Z
M4 5!_P AP_\ 7O\ ^S"K]4!_R'#_ ->__LPJ_38D%%%%(85E^)O^0#>_]<_Z
MUJ5E^)O^0#>_]<_ZT 7;'_CRM_\ KFO\A4]06/\ QY6__7-?Y"IZ "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ KAOC+\$_!OQ_\$S>$O'.D#6=$DE6<
M0^?)"T<J@A)%>-E8,-Q[XY(((XKN:* /@VX_X(Q_ F;4S=)J_C:" MG[%'J=
ML8@/3+6Q?'_ LU]3_ O]G+X>_LW^&Y=%\ ^'H=&@N&#W5P7:6YNF&<&65R6;
M&3@9P,G %>ET4 >+_M#?L@?"[]I^WMO^$Y\/_:-2M4\NVU>QE-O>0KR=HD7[
MRY).UPR@G.,U\\:/_P $9_@/IFIK=7.I^--6@!R;*\U.!8CSG!,5NC^WWN_X
MU]WT4 >>>,O@3X7\8? VY^$NV[T?PA+I$>B11Z?-^_M[6-%2-4>4/DA449<,
M3CG)KB_V5?V.?!?[(.F^(K+P=J>O:E%KDL,URVN7$,K(T0<+L\J&/ ^<YSGM
MTKW>B@#Y?_:@_P"">GPZ_:R\?:?XN\7:UXHT[4K+3(]*CBT2ZMHH3$DLLH8B
M2WD.[=,_.<8 XZD]S\?_ -D?X>?M+>$]#T'QO9WUQ%HF[^S[JSO&@FA+(JL>
M/D;(1?O*>G&.:]GHH ^$M!_X(T_ ;2-22ZN]0\9:W IR;*_U2!8FYZ$PV\;_
M ),*^T_!?@O0_AWX5TWPWX:TRWT;0M-B$%I8VJ[8XD!S@>I))))Y)))))K:H
MH ^/_C!_P2M^!/Q>\27.NFPU?P?J%U(9KG_A&+N."&9SR6\J6*1$S_L*H[]:
M[?\ 9S_8)^$/[,>I_P!L>%M&N=1\1A/+77-<G%S=1J1@B/"JD9()R40$@D$X
MXKZ)HH \0_:F_9&\'_M=>'=$T;QAJ6N:;:Z1=/=P/H<\,3L[)L(8RQ2 C'H!
M7<?!3X1Z/\!_A=H'@/0+F^O-'T6)X;>;4I$>X96D:0[V1$4G+GHHXQ7;T4 >
M ?M+_L/_  Q_:MO]/U+QI;:I#K%A;&SM]1TJ^,,B1%B^W:P:,X9F.2F>>N,5
MX]X+_P""/?P#\)ZQ#?7K>*/%21N'%GK6I1B D=F$$,3$>Q.#7W!10!6TW3;7
M1]/M;"QMHK.QM8E@@MX$"1Q1J JHJC@*   !T JS110 4444 %%%% !1110
M4444 %%%% !1110 4444 %07W_'E<?\ 7-OY&IZ@OO\ CRN/^N;?R- %+PS_
M ,@&R_ZY_P!:U*R_#/\ R ;+_KG_ %K4H **** "L7PG_P @V3_KO)_.MJL3
MPVPMVO;%_EFAG9MI[JQR&% &W1110 4444 %%%% !1110 4444 %1W%O%=02
M03QI-#(I1XY%#*RD8((/4$=JDHH X?PS\"_AMX*UHZQX>^'OA70=7)+'4-,T
M6VMK@DYR?,1 V3D]^YKN*** "BBB@ HHHH **** "BBB@ HHHH **** ,77O
M^0EHW_7P?Y5M5B:FPO-?TVWC^9H"T\F/X1C S]36W0 4444 07W_ !Y7'_7-
MOY&J?AG_ ) -E_USJ_/'YT,D?3<I7\Q67X5F#:3' PVS6Y,4B'JI!_PH V**
M** "BBB@ HHHH **** "BBB@ K+\2>%]&\9:1-I6OZ18ZYI<W^ML=2MDN()/
M]Y'!4_B*U** .7\$_"SP7\-8YT\(>$-!\*I/_K5T33(+,28Z;O+5<_C74444
M %%%% !1110 4444 %%%% !1110 4444 8MK_P C9??]>Z?SK:K$TEA>:[J5
MW'S"H6!7[,1][%;= !1110!B^+/^0;%_U\1_SK:K(\40O+H[M&I=H767:.X!
MY_2M*VN([NWCFB;='(-RF@"6BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBHKFXCM+>2:5ML<8W,: ,KPG_R#9?\
MKXD_G6U61X6A>+1T:12C2NTNT]@3Q^E:] !1110!BW7_ "-=E_U[O_.MJL35
MF%GKNFW<G$#!H&?LI/W<_C6W0 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 5!??\ 'E<?]<V_D:GJCK5VEEI=S(Y_
M@*J.Y8C % $/AG_D V7_ %S_ *UJ51T2V>STFTA<8=8QN'H>N*O4 %%%% &+
MH/\ R$M8_P"O@?RK:K$TQA9Z_J5M)\K3E9XL_P 0Q@X^AK;H **** "BBB@
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
M;5% &+]EUW_G^M?^_1H^RZ[_ ,_UK_WZ-;5% &+]EUW_ )_K7_OT:/LNN_\
M/]:_]^C6U10!B_9==_Y_K7_OT:1M)U.\'EW>I!83]Y;>/:6'IGM6W10!#9V<
M-C;I! @CB08"BIJ** "BBB@!.O!K&.@SV,C-I=X;6-CDP2+O3/J/2MJB@#%^
MRZ[_ ,_UK_WZ-'V77?\ G^M?^_1K:HH Q?LNN_\ /]:_]^C1]EUW_G^M?^_1
MK:HH Q?LNN_\_P!:_P#?HT?9==_Y_K7_ +]&MJB@#%^RZ[_S_6O_ 'Z-'V77
M?^?ZU_[]&MJB@#%^RZ[_ ,_UK_WZ-'V77?\ G^M?^_1K:HH Q?LNN_\ /]:_
M]^C1]EUW_G^M?^_1K:HH Q?LNN_\_P!:_P#?HT?9==_Y_K7_ +]&MJB@#%^R
MZ[_S_6O_ 'Z-'V77?^?ZU_[]&MJB@#%^RZ[_ ,_UK_WZ-'V77?\ G^M?^_1K
M:HH Q?LNN_\ /]:_]^C1]EUW_G^M?^_1K:HH Q?LNN_\_P!:_P#?HT?9==_Y
M_K7_ +]&MJB@#%^RZ[_S_6O_ 'Z-'V77?^?ZU_[]&MJB@#%^RZ[_ ,_UK_WZ
M- T&>^D5M4O#=1J<B"-=B9]3ZUM44 )TX%+110 4444 0WEG#?6[P3H)(G&"
MIK*72=3LQY=IJ0:$?=6XCW%1Z9[UMT4 8OV77?\ G^M?^_1H^RZ[_P _UK_W
MZ-;5% &+]EUW_G^M?^_1H^RZ[_S_ %K_ -^C6U10!B_9==_Y_K7_ +]&C[+K
MO_/]:_\ ?HUM44 8OV77?^?ZU_[]&C[+KO\ S_6O_?HUM44 8OV77?\ G^M?
M^_1H^RZ[_P _UK_WZ-;5% &+]EUW_G^M?^_1H^RZ[_S_ %K_ -^C6U10!B_9
M==_Y_K7_ +]&C[+KO_/]:_\ ?HUM44 8OV77?^?ZU_[]&C[+KO\ S_6O_?HU
MM44 8OV77?\ G^M?^_1H^RZ[_P _UK_WZ-;5% &+]EUW_G^M?^_1H^RZ[_S_
M %K_ -^C6U10!B_9==_Y_K7_ +]&C[+KO_/]:_\ ?HUM44 8OV77?^?ZU_[]
M&C[+KO\ S_6O_?HUM44 8OV77?\ G^M?^_1IUOH3R7*7.HW+7LL9S&FW;&A]
M0.YK8HH **** "BBB@"CJ>DPZHJ;RT<T?,<T9PR'VJG]AUN/Y5U&&11T:2'!
M_2MJB@#%^RZ[_P _UK_WZ-'V77?^?ZU_[]&MJB@#%^RZ[_S_ %K_ -^C1]EU
MW_G^M?\ OT:VJ* ,7[+KO_/]:_\ ?HT?9==_Y_K7_OT:VJ* ,7[+KO\ S_6O
M_?HT?9==_P"?ZU_[]&MJB@#%^RZ[_P _UK_WZ-'V77?^?ZU_[]&MJB@#%^RZ
M[_S_ %K_ -^C1]EUW_G^M?\ OT:VJ* ,7[+KO_/]:_\ ?HT?9==_Y_K7_OT:
MVJ* ,7[+KO\ S_6O_?HT?9==_P"?ZU_[]&MJB@#%^RZ[_P _UK_WZ-'V77?^
M?ZU_[]&MJB@#%^RZ[_S_ %K_ -^C1]EUW_G^M?\ OT:VJ* ,7[+KO_/]:_\
M?HT?9==_Y_K7_OT:VJ* ,7[+KO\ S_6O_?HT?9==_P"?ZU_[]&MJB@#%^QZX
MW!U"W4>JPY-6=-T6.PD>>21[J[<8>>3KCT ["M&B@ HHHH *R_$W_(!O?^N?
M]:U*R_$W_(!O?^N?]: +MC_QY6__ %S7^0J>H+'_ (\K?_KFO\A4] !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5E^)O^0#
M>_\ 7/\ K6I67XF_Y -[_P!<_P"M %VQ_P"/*W_ZYK_(5/4%C_QY6_\ US7^
M0J>@ HHHH **** "BBB@"K<ZA':WEK;R*P^T%E23'R[@,[2?4C./H:S]&']F
MZE>:7TA %S;CT1B=RCV#9_[Z%4=2O);WPK=7,RJ+RQE9B4X&^)^H^H'ZU?U+
M]WXBT:1>LBS0GZ%0W\T_6M^6RMZ_AJ8<UW?T_$V:J:M?C2]-N;HC=Y2%@O\
M>;L/Q.!7Q%\:/VRO&VD?$S5]+\-R6NFZ5I-W)9B.2V65KAHV*LSEAD L#@+C
MC'UKZ8^'7Q%/Q;^&/A3Q!);+:2ZA=(EQ"F=@DB=M^W/.TM'Q[&O*PN.H8JNZ
M,-U_6A]CFW#.8Y/@:6/Q*7)4M:SNTVKI/Y=KG;6.SP_8VD,^Z:\NIOGVX+/(
MW+-UZ 9_ 5M5C-_I'BY0W*VUGO4>C.Y!/Y)^M6=%OI=2M9;B0*J&>18@HYV*
MQ49]R03^->G)=3Y&+Z&A11161H%%%% !1110 4444 %%%% 'F/QH\8:GX=NO
M#&G6FN6_A.RU:YFBN?$%S$DBVQ2(M'&/,_=AI&X!?C"MCG%<G\.=>O\ Q;I]
MUJ5]J$>L".\GM8-56#RQ?0HY5)4'15(X^7@D$C@UZAXJL[;6;V6TO3&MI#82
M2L98PZJS':&*GK@ UC:Q!%HNH3JA,ULNV0K%&=L"D#"L0,*/3VK2A1G&LZG-
MHUMKY?+SVOJ=>(QM">!CAO9)3B_BT\WVYNJ5K\MHWM=W6>UNNPVT;L)=N\.V
M791G!.3TKH/"_A^#SA<B*!X&5XY(V49W?*5/OQNZ^U:6B^(+:\ADC6-9[V*+
M]XEN@ ;'\*DGG&>]>8?%[P_YWB'P[?:KH&JZUX4DCFCFT;2Y,R1WQV^3*\:.
MN]=@E P3M+9]QKB,1.G!V6O]?,Y<OP=/%UXPE.RLWTZ*]E=I-O9*Z/451O#%
MU$BL6TFX<(JL?^/9ST /]PGC'8XK?KRGP=;Z]HOPOTW3/$K+;RS%HU^U7!FN
M8(&E8HLAZ,\<10%@3RN3GK7=^'+Z6ZDO(3=C4;>!E$=V% WY&2N1P<<<CUK)
M7J4E5:LW_7WA6A'#XB>'C+F46TFMG:^J\GNC;HHHK,04444 %%%% !1110 4
M444 4]0U--/\M/+>>XE.(X(L;FQU//  [DUA1ZK)H37]WJ=E)!)<.7CD#!U8
M 82/(Z'CC(P236C<R+:>)()9_EBFMS!%(W0/NR5SV+#'UVU/]HCU"\OM-N8$
MDC1$;^\K(V>".QRI_#!K=62VT,'>3WU&7VJ3:;;6=S<(L<!(%T1D^5E>"/8-
M@'V-16NH77]GW&H/#)+YSC[-:J,$*<*N?3/WB3T!]JTX;6.&U6WP7B5=F)#N
MR,8P2>OXUE6D;:+JD%A'(9+*=':.)SEH=N. >Z\]#TXJ59K8;NG>^@V37KO3
M[J*VOK)7FN 3;BS<OO(QE3D#& <YZ8STI]MJ3:;LCN=-.GP22?+(CJZ!F;^+
M'W22?ID]:T&T^-]2CO&YDCC,:@]!D@D_7@5A:AK$>I>'[JVD,1U"X,MLEJI^
M<-N*KQUX&"3^-5&TK)(3O'5OT.GHI%!50"=QQU]:6L#<**** "H+[_CRN/\
MKFW\C4]07W_'E<?]<V_D: *7AG_D V7_ %S_ *UJ5E^&?^0#9?\ 7/\ K6I0
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !67XF_P"0#>_]<_ZUJ5E^)O\ D WO_7/^M %VQ_X\K?\ ZYK_ "%3
MU!8_\>5O_P!<U_D*GH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "LOQ-_R ;W_KG_6M2LOQ-_R ;W_KG_6@"[8_\>5O_P!<
MU_D*GJ"Q_P"/*W_ZYK_(5/0 4444 %%%% !1110!S6K6(LM#CTI'::XOI]A8
MCE]S;I&/MMW?I5S4/WWB328E&?)2:=O88"#_ -"/Y5J/;127$<[(K2QAE1CU
M4'&<?7 K*T)6OKJ[U5U*B?$4 ;J(ES@^VXDG\JW4KJ_]79BXV=E_5CQ[XD_L
M:^#/B/XOG\0O>:CI%S=OYEY#9,FR9CU<;E.UCW/3VKTN'PKIG@/PGH6E:/;_
M &32M*N(0D8.<*6(9B3U)+DD^I-=A5?4+&/4K&>UE_U<R%#[9'6N*CAZ-&HZ
MD(V;W/:QF;8_'X:&%Q%9RA#X4WHNW^6NR,ZZ/V+Q/:3MQ%=P-;;NP=3O4?B"
M_P"57=-T\:;'-&CEHWF>55(^YN.2H]LDG\:JZ2W]J:;''?1!KFUD"2AA_P M
M$((8?7@_C6M75)V]T\>*^T%%%%9F@4444 %%%% !1110 4444 <AXUUJQ\+S
MOJ.ISVEO9364EN6O9EBB+@[E5F8@#(+?E4MO:'Q(U[>:=?>3IM\JHSQA94N%
MV ;XV!P 1QGD'&:POBWX*U'Q)?>&=7T_3K+7_P"Q9YI)-%U"7RXKD21^7O#%
M67>F3C<,89N0<57^#^DZGX/TR32]2CL--N[J_N;]]+AR(K997++';MT=1U/
M^9FX%*%:JZC@HZ);_=\O+Y7.^I@\+'!1Q'M;S;^'3S5M[[).^SYK+5,U%M;S
MPWLN$VK.691:S.&4*/[K#DJ1TR,CC-69?$UW<6CZA_H<=O%.(1;R*7E5B=N\
M'(YYR!CD9YJKXH5Y-2FNKFVF@B@.(Y7^[C&,@@G@^A]>E>=ZU\1O#VA:PJ7\
MC1SP1[[N2WM))X[9&(V22RHI6-3V+$<'TKT)2IQBJE5I>?Z'CT</B,14='#0
M<GV2;?KH>S7;0V6BR:A,Z7MQ% P%QL4%L]%&.F20,5=T:S.G:39VI #0PJC8
M]0!G]:Y_P];RZU;VCNA33(6\Z/<.;A\G:W^Z.H]3S76US5/=]TN&OO!1116)
ML%%%% !1110 4444 %%%% $5Q;Q7D+0SQK-$PPR.,@_A7EOC#3]-N/'?A3P]
MHD+&^@OO[1U6.W=@D5D()D'FG.!ND:/:IY.TG&%S5;XJ76ACX@:;;^.+]M-\
M(G3)'M7FO'M;:2]W_.'=67YQ%@HI/.7(!(XP_"^M1?#WX)ZI?VC7S^(];?49
M-&EN(I;O4=2(,@LG=,,[$1+#U& H!.,FN"IB7S."=DM7KKI;IY]#ZO"96HTH
M8BSE.?NQ7+[MY*2OS:WY4FY)+1V\SJ-0M=/UGXL:-I6D0O/;Z3%<2ZUY+MY,
M1DC @CD.<%R<L%Y( R< C/-VFAW&N?"OQP^EQSWNLVVN:G':^3.WG!(KUB(D
M);CY%V@9'4"MC3K>"]^!&MV/@22X?65M98[@2%X;\WI4-,)?, =9V)/+ <LI
MZ8JG\/[+P])\0M&N? &BS:-I<.GS1:V?[/DLXY#\GD1R!U7?.K;SNY(!<$\@
M5FZDY25Y?%V?>RT[VM=_>=D*%*E2ERPM[)JUX_R7G[^JY>=RM%:[<MW:Y9\8
MWVCZCX7\*^+]!CGN?#]KJ:76J/9[_,2T$,R2>9&#N.R1D+I@LNPDCY37IVAV
M>CM;PZAI26LL-Q&'CNK<AQ(AY!#C.0?K7EMCXMT#0/CC=#3;BXM='U2*2TU*
M9+:7^SWUA98EB7S=GEK,R&56PPW%%!^8"N,FTGP3X7;QO:ZYJ-UX?\0PZC/)
MHVGVE]- \4;X:W:Q@1@&W,<D(K#>65N.*?UJ<6VY)]]=+I?/==.YF\HI5XPI
MJ$HV2<;1O)QD]FM-8M_$M'%K1/0^FJ*R_"LNI3>&-(DUA%CU=[.%KQ5& )R@
M\P >F[-:E>BG=7/CYQY).-[V[!1113("H+[_ (\KC_KFW\C4]07W_'E<?]<V
M_D: *7AG_D V7_7/^M:E<[X+UNRU#34M(9E-S;#9+">&'/7'<>]=%0 4444
M%?B-^T'_ ,E\^)7_ &,VI?\ I5)7[<U^(W[0?_)?/B5_V,VI?^E4E?39%_$G
MZ'A9M\$?4X"BBBOLCYD**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M]^_8-_Y.N\#?]OW_ *07%> U[]^P;_R==X&_[?O_ $@N*Y,9_NU3_"_R.G#?
MQX>J_,_7JBBBOS(^Z"LOQ-_R ;W_ *Y_UK4K)\62K!X;U"1ONI$6./04 7['
M_CRM_P#KFO\ (5/5'1;Z#4-*M9[:59HFC7#*<]AQ]:O4 %%%% !1110 5^?W
M[6W_  5D\/\ P3\87W@OX?Z%#XW\0V#F"^U">X*6%M,"08EV M,ZGAL%0#QD
MD$#ZQ_:@\?7GPM_9U^(_BK3I/)U+2]"NYK.7GY)_+*Q-QZ.5/X=1UK\N?^"-
M/P=T;XA?%[QGXXUVTCU2Y\*6MM]A6Z <1W5TTN)\'JZK!( 3T+YZ@&@#<M_^
M"P7QQ\(75O=^-OA/H::1,V(UCL[[37DXSA999)5)Q@_=-?JK\-/%UQX_^'OA
MOQ-=:1/H,^L:?!?MIERX>6V\Q X1B,<@$9X'T%:VN:#IGB;2KC3-8TZTU;3;
ME=D]G?0+-#*IZAD8$,/8BO%_VS/VF+7]DWX%W_B]+.&^U>2:/3='T^4E8Y;I
MPQ7=CG8B([D#&0FW(SD 'N]%?B]\+=#_ &V/VT-#O/B!H'Q*U71]'%Q)%;E-
M=ET>"X=3\R0PVX"E5.%W, ,Y&20U>J_L,?MW_%#1?C]_PHSXX3RZC?37<NEV
M]_?*@O+*^3(6&1UXE1RI4,<G<RD,5/ !^IE%?ES_ ,%>OC9\0/A+\3_AJ/!G
MC37_  Q#)IT]Q-;:3J<]M#.ZSK@RHC!7XX^8'@XKD/%6D_MO?M/>!;GXPZ/X
MFNO!WA:ZMY-1TKPSH.N2Z;.UHH)4QK%@R;E!8&5]S=0 "HH _76O"OVJ/VQO
M O[(>DZ!>^,[?5M0DUN>2&TL]%AAEG(C4%Y"LLL8V#<@)!)RZ\5\F_\ !*']
ML_QS\:_$7B7X<>/]7E\27=CIO]KZ;JMTJ_:!$DD<4L,CC'F<RQLI.6^_DD8
M^-?^"FFF_%?0_P!H9;/XJ^)['Q%/<V3:EHL.E._V:QL)+B:..((T<>V3]Q\V
M V?E)9CT /WIT^\34K&VNX@RQW$:RJ&'(# $9]^:L5\&_L6?LM_M(_"SXH:;
MXG^)7Q<_X2_P6VER1KHW_"2ZE>X=U7RF\F>)8_E]<\=J^5OC'^VM\3/V?_V^
M_B'+9Z[KGB;0;2ZN[&S\)W>IW$EAYLEKM@VP;BH"S&-L* 2 P!!;- '[-T5^
M;_[&/@S]L#7/VCM*\=_&.Y\267@BXL[J6;3[S5X8K3>\;+$ATZ.7,9#,"-T0
M(V\\UY3^T5^VY\:/VE?VDIO@_P# 34;G0M-AO9M,@GTR58;C4'B+>=<O<'F*
M)0CD!2/E&3DD* #]=J\T_::U:^T']FWXKZGIEY<:=J5EX2U:YM;RTE:*:"5+
M.5DD1U(*LK $,#D$ BORF^)'B;]LG_@G_J&A>(_%GCR[\4:'J-SY(_M#59=9
ML99%&XV\GGXDC+*I(*;20&PV0<?H/XF^-FF_M$?\$\?'GQ TN'[+#J_@/6FF
MM"VXVTZ6<\<T1.!G;(C ' R,'O0!\P_\$<OB]X[^)WB+XHQ>,?&OB+Q9'9VN
MGM;)KFJSWH@+/.&*"5VVD[1G'7 ]*_3NOR7_ ."'/_(S_%S_ *\]-_\ 0[BO
MUHH \J_:/_:2\&_LN_#N;Q9XPNI!&S^19:=:@-<WTQ&1'$I('3DL2 H')Z _
MF[J/_!87XT^,]1N9?A]\)]%;2X&.^.XM;W5)4!^[N>%XE!P#_#7#_P#!8#QK
MJ7C;]J[2O!L<Q-EH>E6MO;VQ8A!<7+&1Y.>[*T*DCL@K]>O@U\)= ^!WPUT+
MP7X:LH;+3=+MUB)B0*9Y,#S)G]7=LL2>YH ^8/V"_P!OSQ%^USXFU_P[K?@&
M+0;G1+,75SJUA=,UN&,@186B<;D=OG(^9O\ 5MG'%?:E9]GX?TO3=4O]2M--
ML[74;\1B\O(8$2:Y";M@D<#+[=S8R3C<<=:_+#]H[]L7XR?M(?M22_ OX$ZR
MWA>RM;^?3#J-K+Y$UW- &-Q-)<!2T4,?ER8$?+!<_,650 ?J_17X[?&23]KO
M_@GG+X?\8ZU\5Y?'WAN_O1:.FH:C<:E;&;:SB"6.Y = Z1N0T3 _(W*G&?L_
M]H?X^77Q _X)R:[\5?!]_J'AJ^U+1+6]M[BPNG@N;.4W,22HLJ$,"K>8FX8R
M ?6@#ZZHK\5/V:?C!^UK^U-X F^&_P //%MW"-#EDO=6\8:KJDGVQDG/[BW:
MZ??(N"DI41\XSD@+53P=^T]^T5^Q9^TU8>"_BCXNU;Q-IZ7EO'JNGZOJ+ZE%
M<6DVW]];S2DLI"MN7!7YE*L/O"@#]F?'7C32_ASX+UWQ3K<Q@TC1;*:_NY%Q
MN$<:%VV@D98@8 SR2!7GG[+_ .U!X5_:R\ ZAXN\(Z?K&G:;9:G)I4D6MPQ1
M3&5(HI2P$<L@V[9DYSG(/'0GY8_X*]:9\5_^%02:MH'B>PTOX66L,,.N:0CN
ME]?W$EP$3D1D-$,H2ID4$YR&P*^,OV*?V8_VB_C1\*]5UOX1?%C_ (03PW;Z
MU+97&G?\)'J.G>9=+! [2^7;1LARDD2[B=QV8Q@"@#]U**^(_P#@HM^VAKG[
M)OPY\,^'/"[PR?$#Q! P74)U\Y;&&)55YPK##NSMA=P(X8D' !^:]-_9Q_;=
MUSX81?%6+XT:JE_/8_VQ#X9;Q#=I,\+1^8J^3M^SJY4Y\LX X!(/  /UPHKX
MB_X)D_MJ:_\ M0^$M?\ #_C<PW'C#PV(9#J4$(B%_;29 =T7Y1(K*0VT*"&3
M SFOB74/VY/BW\%?VR/C-:Z;K.O^-UGUO6] T/PUJ&H7-W:6T[7Y6V,-L6(R
MFP*J( 2#L& QH _;>BOSV_80\ ?M8P?'K4?%GQQO?$2>$[O1;@Q6NI:W#);?
M:GEA**ME%,1$P7S2#Y:X (XR ?T)H **** "BBB@ HHHH *R_$W_ " ;W_KG
M_6M2LOQ-_P @&]_ZY_UH NV/_'E;_P#7-?Y"IZ@L?^/*W_ZYK_(5/0 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !5>^T^V
MU*'RKJ%)TSD!AT/J#V-6**=VM4+?1F*_A>(HT<=_?Q0MQY0G++CT^8'BO//$
M'P-U&ZNM?AT7Q1_9>C>)(1#J]M<V0N9F_="(M#)N786C 7YE8#J!FO7:*BK%
M5H\L]OZ1UX/$U,#4=2A9-JVJ3ZI[--;I/U1#9VD=A9P6L((BAC6- 3D[0,#]
M!4U%%4<S;;NPHHHH$%%%% !1110 4444 %%%% #9(TE7:ZJZY!PPR,@Y'ZUQ
M_C3POJ]WK^C^(_#TUE_:^FPW%H;74MX@N()C&SC>H+1N&A0A@K<9!'.1V5%1
M.*FK,Z*%>>'FIP\UKLTU9KYK_@'(> _"FI:+=:YJ^MW%K-K.M7$<T\=@C+!"
ML<:QHBEOF8A5Y8X))Z   =?111&*@N5"KUIXBHZD]]/N2LE\DK'D9^%GB7^R
M6\(+?:7_ ,(=]O\ M@NBLAU 1?:#<&';]S=O^7S=V<<[=W->LM$DC*S(K,IR
MI(R1]*?144Z4:>QT8G&U<5;VEMV]%:[=KM^;LKA1116QP!1110 5!??\>5Q_
MUS;^1J>H+[_CRN/^N;?R- 'SA=ZA<:7KTUS:S-!.CY5T.#7K'@CXH6^N;+/4
M2MK?]%?HDO\ @?:O']:_Y"ES_OU3&<C'7M0!]545QGPS_M[^R1_:W_'OM'V?
MS<^;CW]L>O-=G0 5^(W[0?\ R7SXE?\ 8S:E_P"E4E?MS7XC?M!_\E\^)7_8
MS:E_Z525]-D7\2?H>%FWP1]3@****^R/F0HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH ]F_9*^!]K\?/C#:Z!J4TD.CVEL^HW
MXA.V22%&1=BGMN:1 3V!..<5]$>-/VAO@#\-OB%=>";;X(Z+J^BZ7<'3[S6G
MM8#.KH=DA17B9Y-K C<9%)P2.Q/ ?\$VO&5GX;^/%YIE[-% -;TJ2UMVD&"T
MZR1R*@/NJR<=R!7/?&+]DGXHR?';Q!8:=X2U'4K/5=5GN;/5+>%FLS#+*SJT
MDP&V,@'Y@Q!!!QGC/A5N2IBY0KRM%+36WJSUJ?-3PZG2C=MZZ7^1U/[7?[*N
MD^$/B'X(N/ /EVFA>-[A+2W@E=F@M;EW0*0_S,(W$H8#!(VOCC 'CGQ0_9S\
M2_"7XHZ+X#U>^TJYUC5EMW@FL996MU$TK1)N9HU8893G"GCUZ5]I?M:>(]/\
M->+OV>? /VJ*>_T_6]/O+E@PS%%$\4*,P[!R9"/^N9K(_:L^$OB[QI^V5\-]
M1TCP_J%[I CT\3:E# 6MX!%=R/*7?[J[4(."1G(QDFL,+C*D8TU4>C4M7UL]
M#:OAH.4W!:IK;SW/E/QK^ROXQ\#_ !BT/X:7%UH]]XBUB&.>VDM;IA;A7:0
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
MQ&SY2I; YR.GZY756"J62=MM=7TWT\C#ZM2=.7)JU??33[M?,\;\&_\ !/\
M^)WB[PUI^L33Z#X=_M!!);6&M7DD-U(",K\BQ-@D8.TD$9&0*\T_X9W\:P_&
M2W^&%U80V/BFXE\N);F8+ Z["XD63H4*J2,9/&,;N*_0G]K"7PS;^*/">M:S
M\)?$'Q'$< ?3M5T'4+E$M7#[]NR%@ 3\C!R/FZ?PUYVOA.Q_;"_::L+WQ9X;
MU_P$=$\-QW#Z;<W'D7=T/M+^4W"AHU_>/D\-PN,=:RHYA6E%U:GPV?1:/IUN
M_P #2I@Z2DH0WNOGWZ67XGA/BO\ X)\?$[PSX:U'6(+SP]X@%A&99['1[V26
MY  RP"O$H) R=H.3C@$XKA/A;^RUXW^,GP^U3Q9X66QOH;"_33FTUIF2[ED;
MRN4!39M E!)9Q@*WH,_H!^R;H/AC1?%GCZQ\,?"?6/ 6G6S1VCZIJ]Y<R?VH
M5>08$4N57;R<J3PXSBO&/V-]:OO#?[%7QAU73+E[/4+.74)[>XC^]%(MA$58
M>X/-)8ZORS75..Z_F[V;_,/JE+FB^C4OP]4CYU\?_L@^/OA_XZ\+>#Y1IVM>
M(?$4;2VMGI,SOY:J?F,C.B!0/F)() "DYKJO''_!/_XB^ ?!>K^)=1U;PQ):
M:5:O>75O;WTIG5%4L0 T(4D@<#=R<5TW_!.CQ++J_P"T?>2Z[J,VH7\V@W4=
MI)?3M)(9/.A=@I8YSL$I_.O//C;\'_BL?BM\2]5N/#NO&S6YO;R[U5HY%MI+
M(.9 ?..$9-BH0@)^Z !E<#L]M6]M[&4TK)-NV]WTU.;V=+V7M5%N[MOM^!]4
M>,_@WXA^.G[%/P<\-^&Q:K=HUE>33WTIB@@A2TN%+NP!/WG08 )^;I@$CX_^
M/'[*OC?]GFSTZ^\1'3K[3+Z0PQ7^E3O+$)-N[8V]$8$@$CC!VGGBOI+]HC6+
MW2_^">'PK@M;AX(K^33K:Z5?^6L0MIY-A]M\:-_P$4?&8_;_ /@FWX EN?\
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
MI_X?^%?^$%\!^&_#?VK[=_8^FVVG?:O+\OSO*B6/?MR=N=N<9.,]30!^,/\
MP1K_ .3M[[_L6+S_ -'6]:W_  6LC<?M1>%)"C"-O!MLH;'!(O;W(SZC(_,5
M]D?L:_\ !-'_ (9(^+D_C?\ X6/_ ,)7YNF3:;]A_L/['CS'C;?YGVF3IY>,
M;><]>*]+_;)_89\)_MB:;I$FIZG=>&_$FD!H[/6+2(3?NF.6BDB) =<@,,%2
M#G!P2" >S^ ?&>@:YX6\-G3M;TZ^^VV$,EL+>Z1S,OE!LH ?F&WGCM7XW>,+
M6&]_X+ 117$231'Q]9,4D&1D-$0<>Q /X5]L?LC_ /!+K3OV7?BQ9>/IOB'=
M>*=1LHIX8+6/25LH<2QF,ELRRDD!B1@CM5G5/^":?]I?MA)\=O\ A8WE[=>A
MUO\ L#^P\_<V_NOM'VGOM^]Y??I0!]NU^%G[ >L67P!_;^?2?'=\ND3Q2ZEH
M4MYJ+B-5NB6"EV; &]DV@]RZ^M?NG7R+^UE_P37^'G[4GB%_%0OKOP;XRE18
M[C5-/B66*\"@*IGA8C<P  #*RG  .<# !Y'_ ,%E/BEX6?\ 9_\ #_A&#5[&
M^\0WVO0WL5E;SI))'!%#,'F8 G:,NJ@G&=QQG!IW[*OAS4/#_P#P2(\=O?V[
M6_\ :/ACQ-?6ZN"&:%H+A58CL&V$CU!![UG_  R_X(G^"O#GB""^\:^/]1\9
M:?"X?^S;+3AIB38_AD?S96*GOM*GT(K[M^('PML?%_P5\2_#C3&A\.Z;JOA^
MZT"V>WM@T=C'+;M I6(%00@8$+D9QC(ZT ?F=_P0Y_Y&?XN?]>>F_P#H=Q7Z
MT5\E_L.?L%_\,8ZIXNO/^$Y_X3#_ (2"&VBV?V1]A\CR6D.<^?+NSYGMC'?-
M?6E 'XM?\%C/A[JO@_\ :7T/QU! \>G:]I<'E7JKE1=VS%'3IC(3R&YZ[O:O
MT[^!/[7'PV^.GPYTGQ-I_BO1[*ZG@C-]I=W>QPW%C<%?GB=&8$88-ANC 9!(
MKK/C=\"_!G[0W@2Y\)>.-)75=*E<2QLK&.:VF (66*0<HXR>>A!((()!_/WQ
M#_P0YT2YU1Y-"^+FH:=IV?EM]0T)+N8#T,B3Q _]\"@#]#/!_P :/ ?Q"\1:
MAH/A?Q?HWB/5M/A$]W;Z3>)<_9T+;1O9"54Y[$Y]J_ [PY\'= \2?ME:S\._
MBAXCN/!UE-KVH6-SK+*BF.X#R>4S;_E"R.%&[I\X.<<U^PO[&_[!?AC]CN[U
MS4=*\2:KXCU?6(([:XFO(XXH%1&+#9&H)!)/)+GH.E4/VL/^"<GPX_:HUS_A
M)KFYO/"?C%HUBEU?2U1UNU487SXFX<J  &!5L  D@   ^=]8_P"",OPN\.Z5
M)JFJ_%O5M,TR-=[WEY':PPJN,Y+L0 ,=\UZE\?/A'HOP+_X)7^)_!?AW6Y/$
M>AV.EB>SU639FYCN-16Y#C9\I'[[@CJ #7D6@_\ !#G1[?4D?6OB]?7^G@_/
M!8: EK*1GH)&N) ./]@U]Q?&#]G:U^)O[,]_\';'6I=%L9M+M=)@U2>W%U)%
M' T15F0-&'8B( X*\G/M0!\;?\$0XT'PI^)4@51(VM6ZEL<D"#@9]LG\S7S5
M_P %DE"_M<69  +>&;(G ZGSK@?TK]*_V(?V-_\ AC;PEXDT3_A+_P#A+_[8
MOH[SS_[,^Q>3MCV;=OG2;L]<Y'TKS/\ ;*_X)H_\-;_%R#QO_P +'_X13RM,
MATW[#_8?VS/EO(V_S/M,?7S,8V\8Z\T =%_P5<C9_P!B/QF54L%N].+$#H/M
MD0R?Q(_.O)_^",/BS1--_9I\86-YJ]C:7D'BR>ZE@GN$1TB>RM%20@GA28I
M#T^1O2ONOXI?#/0/C)\/=<\%^*+5KS0M8MS;W,2/L<#(975NS*RJP/8J*_.E
MO^"'.B_VX95^+M^-&WY%H="0W&ST\[S]N??R_P * /,_^"V&@WO_  N+X=^)
M59IM#U#PZUG;2I@Q&6*XDD<JPZDI<1?@!76_!7_@D_\ ";XX_#/0/&7A[XKZ
MS?6>I6L<TBV\%NWV>8J#)"XZJZ-E2#SQ7Z$?%K]F7P-\</A#9_#OQC8R:CI-
MG!#':7D;B.[M9(TV)-$^/E?&<\%2"0002*^$M8_X(;Z5-J;/I7Q?O++3\\6]
MYX?2XE SWD6XC!XQ_!_A0![]^Q+^Q5\/OV:?'WBK6O!OQ$D\:W[V:Z5?VI>!
MQ9DR+* _E$E7^3[K<X.?2O@/X*6T5U_P5^U%)HUE0?$+Q!(%<9 99+QE/U!
M(]Q7ZC_L@?L@Z!^Q_P""]5T+1=<U'7YM5N5N[RZOUC0>8J! (T4?*N.Q9C[U
MXWX%_P"":/\ PA?[8-S\=?\ A8_VSSO$&HZ[_8']A[,?:C,?*\_[2?N>=][R
M^=O09X /M^BBB@ HHHH **** "BBB@ K+\3?\@&]_P"N?]:U*R_$W_(!O?\
MKG_6@"[8_P#'E;_]<U_D*GJ"Q_X\K?\ ZYK_ "%3T %%%% !1110 5\/:#X:
M_M[X=_&?X@:W\6?''A35=#\8^)X;'4%\672V%G';7<XMX_L<DAMVC4*!Y93!
M P,<5]PU\S? O]DOPKIFL>-?$WCGX;^'[GQ9?>-];U>QU._L[:[N&M)KV22U
MD#_-M^1@0#AE[@&@#J_"?Q*^*NL?!GX;ZY8_#^QU[Q-K6A6U]J\>I:T-)AM9
MVAB9EP()7W.78A0F%VD,0<9P;;]KR77?"O@9]#\&B7QEXJU/4='CT/5=8CL[
M:TN[!Y$ND>["2;_FC(C\N-BX(.%P<9GQF^%_B+7OCK<:UK?PU_X7)X%N-&MK
M73-&FU&UCM-)O$EE:>2>UNI%CD$@:'$JK(ZB,KMQUP/ /P;USP!^SU!X&\5?
M!#3_ !_:2^(-8O)= TF]L%@LHY+Z26U>W%P\2;-DGRX9'0 #:#P #TWQ9\?/
M%G@G2?"=CK'@"QM?'7BC59M*T[2#XC0:>3'"\QD>],(*JRHP51"7+8&WG(SO
MB=XXOU\#>#Y_B7\.;:VOKGQYHFF6VG6/B-YH8I9+N%8+Y9TBC9Q'(V[R71=W
MEX/!S7)^%?ASXL\/?!?4?#OB_P"%%U\2]!O]>N+C3_!^I:Y9W]YHNG>7&+>)
MI[N01RLLBS,")B8UD4*S;:QM,^!7Q';X=:-IC:/>VFG6OQ/T37])\.:EKB:A
M<Z)HUO<6SS(]R\A#[6CGD$:O(55@JECQ0![/HG[1NG2>!/BAXA\0Z:?#\OP]
MO]1L]6L?M F)CMXQ-%,C%4)$\#Q2*-O5]O)&3BV/[1'C#Q-<:5HOACX:Q:CX
MP70K+7/$&FZAKHL[71?M2DPVK7'V=VEG.R3Y1$J@)DL,C/(?'+X ^+/%WQNB
MBT+3EN/AUX\_LW_A.)S<1)]G_LR8S1_NV8._VJ/9;-L!PL8W8%4OC)^S;;S?
M'K7?'U[\'-)^-6B^(M.M()K*=[--0TNZM@R!XOM;I&\4L;)N <,&B!P<T ?0
M'P=^*EA\9/ =KXDL;2XTUS/<65YI]T5,MG=P2O#/"Q4E25D1@&!PPP1UKMJX
M/X(^%++P=\.=/LK'P)9?#57>6:3PW82121VS,YP2T0V%F4*QVY +$9.,GO*
M"BBB@ HHHH **** /&/VRM>O?"_[+WQ&U73]5OM#O+72VD34=,G:&YM_G7+Q
MNI!5@,X(-<+X=^*GB6U^!_Q:\"^+-3FC^*/@'0KU)=4B8PRZG:_9I6LM5A(Y
M!D5?F*GY)8W''%>A_M<> ]=^)_[-7Q#\*^&;'^TM?U;2I+:SM/.CB\V0D87?
M(RJO3JQ KC_VQ_@?XG\?>%Y/%7PUABD^(]AIMUI"V<LRPQZOIMTACN+.1V(4
M$9$T;,<+)&.S&@#:;XV:WI=CX$\(^%O#A\<>.=2\.0ZU<QW^J?8;:VM0J(9[
MBY,<K;GD8JJK&Q8JY. I-<9\0?VHO&5[\.;.^\&>%K6R\5V/CK3O".OZ7JFJ
M(HLYWOK5&A2589!)'/'.JB;:"B2E]N]=E8OQ0_9CFU+QEX"\;ZE\+-)^+,-G
MX1M_#.K>&;^6U6ZM7A8RQ7%L]PPA8AI)HW4NN0RD$XQ6UJWP9U%?@*8O /P?
MTOX=Z[9>*=*\21>$8[RUC-]]BO+:<B26 F%)76%D'SL!M7+#/ !Z)X3^.VK#
MQ]JGA#Q_X9L/!VI6/AM?$QGLM9;4;9[<7,T,P#FWA/[L1PN3M_Y;@8^7+<3X
M4_;27Q5^SO?_ !''@N:QUZ#5;71H?"=QJ(\V6XNY+<68,HC^7S(KRWE/R$J&
M8<[<UA_M,?"OXA?&_3_ .N>'?"EUX<UG4H[[PGXFL;S4;07.G:)?LBW$Y>.5
MHY"@MT<)&SM^]X&<XN>+OV>?%%Q^U9X:U#2--@'PIN)M.U_69!<1JT&I:;;7
M5O:H(B=S*XELFR 0/L8SC- '<ZA\?/%NN>(O%%K\//APOC/1O#%Y)INI:C<:
MY'I[S7D:*\L%I$8G\YDWJI,C1+ORH;@D8^L?M@6US_PJA/!GA&^\7S_$C2K^
M^TFW^TK:/#-:_9BT-P65EC51/*9'+?(8"JK(SJ*K^'M*^)?P%UKQYI/AOX?'
MQ[HWB'7[WQ%I6I6^L6MFEI+=MYLL%XLSJX59B[!X5E)1@-N1@Y?PS_9T\3_#
M/Q5^SQ"ZQZK9>$- \06VNZG!(B11WEZUI*JHC$.R&1)PI"G"H-V"1D Q]2^+
M5O\ #/\ :F\0>*_B#;0^'KL?#/2(I-*TZY-^\MT^K:@L=M;'8C3R2' 4!%)S
MR!@D?3G@/6=<\0>$]/U+Q'H">%]7N4,DND+>B[:V!)VJ\@15+[<;@H*JV0&8
M#<?GWXP?LKS?&3]I'5_%-];RZ7;6_@FPLO#OBJWG0S:7K$.H74XECBW[MR!X
M3EEVLKNF[YG%>Y_"C5?%VL> ]-E\=Z)#H/BR,-!?V]K.DUO+(C%?/A96.(Y
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
MYHT.0,\=>M<A15>RIJ'LU%<O:V@O:3<N>[OW/1? O[0WQ ^&NK>(M2\.:_\
MV=>^()/-U.7[%;R_:&W.V</&P7F1_N@=?854^%?QP\;?!2ZU"X\%ZU_8TVH(
MD=RWV2"?S%0DJ,2HV,%CTQUKA:V=6\&ZSH7A_0];O[)K?2];69]/G9U/GK$_
MER$*#N #<?,!GMFIE3I:J45[WDM;?G8:J5-TWI^!TGPM^/'CSX+M>_\ "&>(
MIM&2]VFXB\F*>-RN<-LE5E!Y/(&:=>_'SX@:A\1/^$[D\47B>+-BQG4K<)"Q
M10 $*(H0K@#Y2N#W%<!15>QIN3DXJ[\A>TG91YG9'LGBW]L+XP>./#MYH6M>
M,YKK2KR)H+B".RMH?-C8896:.)6((X//-<QJWQU\<:[\-;'X?WVM^?X1L2C6
M^G?9(%V%22O[P()#@L>K'K7-^$O!NL^.M7.F:%8OJ%\()KEHU95"Q11M)(Y9
MB  %4]3R< 9) JSX7T?P[J>D^(9]:\0OHM_9V@ETRU6Q><7\^X#RBZG$7&3N
M;C\L'+V5"GI&"TUT7XZ?F:>TJRU<GKY_@=1XK_:.^(GC?5O">I:UXA^VWOA6
M<7&C2_8K:/[+(&C8-A(P'YACX<,/E]SGZ7_8[^)5Q\8/B=XP\2^,=:TV_P#B
MI#HZ6OA:XU6..WBW;9MV$C"*Q!,><#=M+XXS7P]145L)3J4W3BE'S2\[_<^I
M5/$3A-3D[_/^OD?JM\+=>^-'PWU36-=^//C+PY:^"H;5]L3?9TD\XLNSR_+C
M4D$;AAB6)V@ DYK\\_#OQY\5?#'QEK^J_#S6+KPQI^HWDLT=C''&T0B+DQJT
M+!H\JI Z''(!Q7FM%94,#"DY.5GS6T2LM/+4TJXJ5114;JW6]W]YZ1\4/VC/
MB+\9M+MM.\8^)9-8L+>87,5O]F@@19 K*'Q$BY(#L.?4U1^*GQP\;?&NZT^X
M\::U_;,VGH\=LWV2"#RU<@L,1(N<E1USTKA:*[(T:<;<L4K;:;'-*I.5[R;N
M>@?$/X_>/OBI>:'=^)O$4M]=Z&6;3IX;>&U>V8E"65H40YS&A!/(V\8KK;[]
MM3XU:EHDVDW'CJY:SFB:%]MG;)*5(P?WHB#@X/7=GWKQ*BI>'HM)."LMM%H/
MVU5-M2>OF=]\,?CSX^^#:W*>#O$MUHT-RP>:W"1S0NP&-WER*R[L #.,X ]*
MD^*'[0/Q ^,UO:V_C+Q'-K-O:OYL,'D0P1H^,;ML2*,X)&2.]>>T57L:?/[3
ME7-WMK]XO:3Y>3F=NQ):W4UE<Q7%O+)!<0N)(Y8F*NC Y# CD$'G(KVVV_;<
M^-MIIBV">/+IH%38'DL[:27&,<RM$7)]RV:\.HIU*5.K_$BGZJXHU)T_@DT=
M-H/Q*\3^&_'4/C.RUB?_ (2B&9KA=3N0MQ(9&!5F;S P8D,?O UH:A\:/&6J
M?%!?B)=:QYOC%98IQJ7V6$?/'&L:'RPGE\*JC[O..>:XFNUC^&_F?!>X\?\
M]HX\KQ!'H7]G>1UWVSS^;YF[MLV[=O?.>U*4:<7>26NFWX>@XRFU9/S_ ."=
M!:_M2?$^Q^(MYX[A\3[/%5Y8C3I]0^P6IWVX9&">68M@YC3D+GCKUK#\%_&[
MQQ\//&&I>*/#NOS:9K>I-(UY<1Q1LDY=][;HV4H?FY'R\=L5'\9?AO\ \*C^
M(FH^%O[1_M7['#:R_:_(\G?YUM%/C9N;&/-V]>=N>,XK#N/!NLVOA&T\3S6+
MQZ%=W<EC!>,R@231JK.H7.X@!U^;&,Y&<@@9QA0E%-15I)=-UT7_  "Y2JJ3
M3;NC:^)_QB\8?&;5K74O&.LMK-Y:Q>1#(T$4(1,YP%C51U/I7&5VOQ,^&_\
MPKNW\&R_VC_:'_"1>'[?7<>1Y7V?S9)4\K[QW8\K.[C.[H,<\56M/DY%[-:&
M<^;F?/N%%%%:F8445L^'_!NL^*+'6KS2[%[JUT:T^W7\P956"'>J;B6(R=SJ
M HR3R0, X3:CJQI-Z(QJ***8@HHHH **?!!+=31PPQM--(P1(XU+,S$X  '4
MDUI^+/"NJ^!_$FH:#K=K]AU;3Y3#<V_F*_EN.HW*2I_ FE=7MU'9VN9-%%%,
M04444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %>_?L&_P#)UW@;_M^_](+BO :]^_8-_P"3
MKO W_;]_Z07%<F,_W:I_A?Y'3AOX\/5?F?KU1117YD?=!6'XX_Y%#5_^O9_Y
M5N5B^,XVF\*ZI&O+/ RCZF@#YPCC>:14C5G=C@*HR2:]8\"_"D0^7?ZTFZ3[
MR6AZ#W?W]JZ#P+\/[+PW;174@%SJ$BAC*PX3(Z*/ZUV- "*H10J@*H& !T%+
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5E^)
MO^0#>_\ 7/\ K6I67XF_Y -[_P!<_P"M %VQ_P"/*W_ZYK_(5/4%C_QY6_\
MUS7^0J>@ HHHH **** "O-_B1^T1X!^$^MV^C>(M9N%UF:W^UKINEZ9=ZE=+
M!DCS7BM8I'1,JPWL "01GBO2*\#\:?#CXA> ?C!XB^)WPWMM%\4_\)#I]G::
MUX7UJX>RFE:T\P0R6EV%=48K,X,<B;20#N&30![)X1\7:3X[\-V.O:'=_;M*
MO5+P3^6\98!BIRK@,""",$ \5L5\7_$G]I74?BW??"O1O#6B>.H-)\0)K5QK
MNE>%I[:TUM9M/ECMI+,3O<1+&JS2,7>*3>0B;3AB1A>,/%?Q9\&_L\?&]A!X
MU\'Z9ILNDS>#M3\7ZA!<:M'YL\27,3S03RM(B2+P9'9F2;:2<&@#[MHKYI\1
M>"M6^"?Q.^$6HZ;X]\7:X?$GB)]"UVTU_5I+RUOD?3;VX$J0,?+MG62V5@(%
MC7YB,8XKD/#LNH>"?B=9_P#"X]7^(VB>(+SQ$Z:9XALM<G?PIJ*/=,;.T,$+
M>3;[HS'$4GB1F8'#L3F@#[%HKY@\#^%]5_:.UCXCZ_J_CGQ=X<DT?Q1J/AS1
M;'PYK$MA!816;"(320I\MQ)(X:7]^'7:R +CKYMX#\=>.?V@O$7P&L[WQKJN
M@6VO>#=;?Q$V@W#6K7[VE[:0^;&5.(9'9<^8@W(DLJH5W9 !]T45F^&]#B\,
MZ#8:3#=7M[#9PK EQJ5T]U<R!1@&260EY&]68DGN:TJ "BBB@ HHHH ****
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
M^S;/+V<;=N[=SG'%?.?A?Q9#X(^)&E^)-&BN!:Z5JL=]:0W$H,QCCE#JCNH
M+%0 2  <GC'%87]IWG]F_P!G_:Y_[/\ -^T?9?,;RO,V[=^S.-V.,XSCBJU=
ME.@J:DF[W.:=9R<6E:Q^@FDZ=HO[/WQ@^(WCJ_MXY](\3^(M/T/39)#Q]FO]
MEY>OTQM6)E /J,<=:X:U^%T'PH\)Z5\.=81<^./B=#IEQYGRRW6D6<Z1AB1C
M&9)=PQV;(Z\?._Q$^.GB/XF>"_!OA?54LX-,\+6WV6T%FCHTX$<<:O-ER&=4
MB500!@$^M6OBW^T/XN^,VI>&[_69+:RNM MQ!9R:8KPMOW;C.27)\UF"DLI
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
M(]Y_92^./CKQW\5_%M_KGB*YOKP>$+S]]L2,DP!GA)V*,E&FD()Y^;V&./\
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
M""!SCBNRO1E4Y>32^C]'O_P/4YJ56,+\VO5>I] ^%_&%G\._@'X$\0CQ[?>
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
M^)O^0#>_]<_ZT 7;'_CRM_\ KFO\A4]06/\ QY6__7-?Y"IZ "BBB@ HHHH
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
M7_R-1_:&%_Y^(/J>(_D9\A45]>_\.P_BE_T'_"'_ (&77_R-1_P[#^*7_0?\
M(?\ @9=?_(U']H87_GX@^IXC^1GR%17U[_P[#^*7_0?\(?\ @9=?_(U'_#L/
MXI?]!_PA_P"!EU_\C4?VAA?^?B#ZGB/Y&?(5%?7O_#L/XI?]!_PA_P"!EU_\
MC4?\.P_BE_T'_"'_ (&77_R-1_:&%_Y^(/J>(_D9\A45]>_\.P_BE_T'_"'_
M (&77_R-1_P[#^*7_0?\(?\ @9=?_(U']H87_GX@^IXC^1GR%17U[_P[#^*7
M_0?\(?\ @9=?_(U'_#L/XI?]!_PA_P"!EU_\C4?VAA?^?B#ZGB/Y&?(5%?7O
M_#L/XI?]!_PA_P"!EU_\C4?\.P_BE_T'_"'_ (&77_R-1_:&%_Y^(/J>(_D9
M\A45]>_\.P_BE_T'_"'_ (&77_R-1_P[#^*7_0?\(?\ @9=?_(U']H87_GX@
M^IXC^1GR%17U[_P[#^*7_0?\(?\ @9=?_(U'_#L/XI?]!_PA_P"!EU_\C4?V
MAA?^?B#ZGB/Y&?(5%?7O_#L/XI?]!_PA_P"!EU_\C4?\.P_BE_T'_"'_ (&7
M7_R-1_:&%_Y^(/J>(_D9\A45]>_\.P_BE_T'_"'_ (&77_R-1_P[#^*7_0?\
M(?\ @9=?_(U']H87_GX@^IXC^1GR%17U[_P[#^*7_0?\(?\ @9=?_(U'_#L/
MXI?]!_PA_P"!EU_\C4?VAA?^?B#ZGB/Y&?(5%?7O_#L/XI?]!_PA_P"!EU_\
MC4?\.P_BE_T'_"'_ (&77_R-1_:&%_Y^(/J>(_D9\A45]>_\.P_BE_T'_"'_
M (&77_R-1_P[#^*7_0?\(?\ @9=?_(U']H87_GX@^IXC^1GR%17U[_P[#^*7
M_0?\(?\ @9=?_(U'_#L/XI?]!_PA_P"!EU_\C4?VAA?^?B#ZGB/Y&?(5%?7O
M_#L/XI?]!_PA_P"!EU_\C4?\.P_BE_T'_"'_ (&77_R-1_:&%_Y^(/J>(_D9
M\A45]>_\.P_BE_T'_"'_ (&77_R-1_P[#^*7_0?\(?\ @9=?_(U']H87_GX@
M^IXC^1GR%17U[_P[#^*7_0?\(?\ @9=?_(U'_#L/XI?]!_PA_P"!EU_\C4?V
MAA?^?B#ZGB/Y&?(5%?7O_#L/XI?]!_PA_P"!EU_\C4?\.P_BE_T'_"'_ (&7
M7_R-1_:&%_Y^(/J>(_D9\A45]>_\.P_BE_T'_"'_ (&77_R-1_P[#^*7_0?\
M(?\ @9=?_(U']H87_GX@^IXC^1GR%17U[_P[#^*7_0?\(?\ @9=?_(U'_#L/
MXI?]!_PA_P"!EU_\C4?VAA?^?B#ZGB/Y&?(5%?7O_#L/XI?]!_PA_P"!EU_\
MC4?\.P_BE_T'_"'_ (&77_R-1_:&%_Y^(/J>(_D9\A45]>_\.P_BE_T'_"'_
M (&77_R-1_P[#^*7_0?\(?\ @9=?_(U']H87_GX@^IXC^1GR%17U[_P[#^*7
M_0?\(?\ @9=?_(U'_#L/XI?]!_PA_P"!EU_\C4?VAA?^?B#ZGB/Y&?(5%?7O
M_#L/XI?]!_PA_P"!EU_\C4?\.P_BE_T'_"'_ (&77_R-1_:&%_Y^(/J>(_D9
M\A45]>_\.P_BE_T'_"'_ (&77_R-1_P[#^*7_0?\(?\ @9=?_(U']H87_GX@
M^IXC^1GR%17U[_P[#^*7_0?\(?\ @9=?_(U'_#L/XI?]!_PA_P"!EU_\C4?V
MAA?^?B#ZGB/Y&?(5%?7O_#L/XI?]!_PA_P"!EU_\C4?\.P_BE_T'_"'_ (&7
M7_R-1_:&%_Y^(/J>(_D9\A45]>_\.P_BE_T'_"'_ (&77_R-1_P[#^*7_0?\
M(?\ @9=?_(U']H87_GX@^IXC^1GR%17U[_P[#^*7_0?\(?\ @9=?_(U'_#L/
MXI?]!_PA_P"!EU_\C4?VAA?^?B#ZGB/Y&?(5%?7O_#L/XI?]!_PA_P"!EU_\
MC4?\.P_BE_T'_"'_ (&77_R-1_:&%_Y^(/J>(_D9\A45]>_\.P_BE_T'_"'_
M (&77_R-1_P[#^*7_0?\(?\ @9=?_(U']H87_GX@^IXC^1GR%17U[_P[#^*7
M_0?\(?\ @9=?_(U'_#L/XI?]!_PA_P"!EU_\C4?VAA?^?B#ZGB/Y&?(5%?7O
M_#L/XI?]!_PA_P"!EU_\C4?\.P_BE_T'_"'_ (&77_R-1_:&%_Y^(/J>(_D9
M\A45]>_\.P_BE_T'_"'_ (&77_R-1_P[#^*7_0?\(?\ @9=?_(U']H87_GX@
M^IXC^1GR%17U[_P[#^*7_0?\(?\ @9=?_(U'_#L/XI?]!_PA_P"!EU_\C4?V
MAA?^?B#ZGB/Y&?(5%?7O_#L/XI?]!_PA_P"!EU_\C4?\.P_BE_T'_"'_ (&7
M7_R-1_:&%_Y^(/J>(_D9\A45]>_\.P_BE_T'_"'_ (&77_R-1_P[#^*7_0?\
M(?\ @9=?_(U']H87_GX@^IXC^1GR%17U[_P[#^*7_0?\(?\ @9=?_(U'_#L/
MXI?]!_PA_P"!EU_\C4?VAA?^?B#ZGB/Y&?(5%?7O_#L/XI?]!_PA_P"!EU_\
MC4?\.P_BE_T'_"'_ (&77_R-1_:&%_Y^(/J>(_D9\A45]>_\.P_BE_T'_"'_
M (&77_R-1_P[#^*7_0?\(?\ @9=?_(U']H87_GX@^IXC^1GR%17U[_P[#^*7
M_0?\(?\ @9=?_(U'_#L/XI?]!_PA_P"!EU_\C4?VAA?^?B#ZGB/Y&?(5%?7O
M_#L/XI?]!_PA_P"!EU_\C4?\.P_BE_T'_"'_ (&77_R-1_:&%_Y^(/J>(_D9
M\A45]>_\.P_BE_T'_"'_ (&77_R-1_P[#^*7_0?\(?\ @9=?_(U']H87_GX@
M^IXC^1GR%17U[_P[#^*7_0?\(?\ @9=?_(U'_#L/XI?]!_PA_P"!EU_\C4?V
MAA?^?B#ZGB/Y&?(5%?7O_#L/XI?]!_PA_P"!EU_\C4?\.P_BE_T'_"'_ (&7
M7_R-1_:&%_Y^(/J>(_D9\A45]>_\.P_BE_T'_"'_ (&77_R-1_P[#^*7_0?\
M(?\ @9=?_(U']H87_GX@^IXC^1GR%17U[_P[#^*7_0?\(?\ @9=?_(U'_#L/
MXI?]!_PA_P"!EU_\C4?VAA?^?B#ZGB/Y&?(5%?7O_#L/XI?]!_PA_P"!EU_\
MC4?\.P_BE_T'_"'_ (&77_R-1_:&%_Y^(/J>(_D9\A45]>_\.P_BE_T'_"'_
M (&77_R-1_P[#^*7_0?\(?\ @9=?_(U']H87_GX@^IXC^1GR%17U[_P[#^*7
M_0?\(?\ @9=?_(U'_#L/XI?]!_PA_P"!EU_\C4?VAA?^?B#ZGB/Y&?(5%?7O
M_#L/XI?]!_PA_P"!EU_\C4?\.P_BE_T'_"'_ (&77_R-1_:&%_Y^(/J>(_D9
M\A45]>_\.P_BE_T'_"'_ (&77_R-1_P[#^*7_0?\(?\ @9=?_(U']H87_GX@
M^IXC^1GR%17U[_P[#^*7_0?\(?\ @9=?_(U'_#L/XI?]!_PA_P"!EU_\C4?V
MAA?^?B#ZGB/Y&?(5%?7O_#L/XI?]!_PA_P"!EU_\C4?\.P_BE_T'_"'_ (&7
M7_R-1_:&%_Y^(/J>(_D9\A45]>_\.P_BE_T'_"'_ (&77_R-1_P[#^*7_0?\
M(?\ @9=?_(U']H87_GX@^IXC^1GR%17U[_P[#^*7_0?\(?\ @9=?_(U'_#L/
MXI?]!_PA_P"!EU_\C4?VAA?^?B#ZGB/Y&?(5%?7O_#L/XI?]!_PA_P"!EU_\
MC4?\.P_BE_T'_"'_ (&77_R-1_:&%_Y^(/J>(_D9\A45]>_\.P_BE_T'_"'_
M (&77_R-1_P[#^*7_0?\(?\ @9=?_(U']H87_GX@^IXC^1GR%17U[_P[#^*7
M_0?\(?\ @9=?_(U'_#L/XI?]!_PA_P"!EU_\C4?VAA?^?B#ZGB/Y&?(5%?7O
M_#L/XI?]!_PA_P"!EU_\C4?\.P_BE_T'_"'_ (&77_R-1_:&%_Y^(/J>(_D9
M\A45]>_\.P_BE_T'_"'_ (&77_R-1_P[#^*7_0?\(?\ @9=?_(U']H87_GX@
M^IXC^1GR%17U[_P[#^*7_0?\(?\ @9=?_(U'_#L/XI?]!_PA_P"!EU_\C4?V
MAA?^?B#ZGB/Y&?(5%?7O_#L/XI?]!_PA_P"!EU_\C4?\.P_BE_T'_"'_ (&7
M7_R-1_:&%_Y^(/J>(_D9\A45]>_\.P_BE_T'_"'_ (&77_R-1_P[#^*7_0?\
M(?\ @9=?_(U']H87_GX@^IXC^1GR%17U[_P[#^*7_0?\(?\ @9=?_(U'_#L/
MXI?]!_PA_P"!EU_\C4?VAA?^?B#ZGB/Y&?(5%?7O_#L/XI?]!_PA_P"!EU_\
MC4?\.P_BE_T'_"'_ (&77_R-1_:&%_Y^(/J>(_D9\A45]>_\.P_BE_T'_"'_
M (&77_R-1_P[#^*7_0?\(?\ @9=?_(U']H87_GX@^IXC^1GR%17U[_P[#^*7
M_0?\(?\ @9=?_(U'_#L/XI?]!_PA_P"!EU_\C4?VAA?^?B#ZGB/Y&?(5>_?L
M&_\ )UW@;_M^_P#2"XKO_P#AV'\4O^@_X0_\#+K_ .1J]._9G_81\??!GXV^
M'/&.M:OX;NM,TW[3YT5A<W#S-YEM+$NT/ JGYI 3EAP#]*YL3CL-.A.,9J[3
M_(WH82O&K"3@[)K\S[MHHHKX ^O"LOQ-_P @&]_ZY_UK4K+\3?\ (!O?^N?]
M: +MC_QY6_\ US7^0J>H+'_CRM_^N:_R%3T %%%% !1110!R_P 3? %C\4O
MNK^%]2EE@M-0C53+#C=&RNKHPSUPRJ<=\8KSS]G?]F2P^ <VK7:ZU+KNHZ@J
MQ&9K<0)'&I)VA-S9).,DGL, <U[716$J%.515I+WELSUJ.:XVA@ZF7TZC5*;
MO*.FKTZVOT6SUMJ%%%%;GDA7GOQ,^$OPV_:"TFY\/^,M"T?Q=;V3E'AFPT]E
M(R@G;(A$D+E<<J5.*]"KPWXD?L2?!3XM>,+KQ5XG\$1W?B*[ %QJ-IJ-W92S
M84*-Y@F3=\H Y[ >E 'C?[/<.I_"?]J;XA_!#PAXPU/Q9\/K#PBFL6L.J7AO
M)/#FHM.(EL5G/*JR$R!&/  [ABWFG[ OP[^)WB[]GK3+/PK^T+=^"9](O+RS
MU3PF/">F75QI=V+F0NLSRJ969\[\OS\^.V!]T_"?X(^!/@7H$FB^ _#%CX9T
M^5Q),EHA+S,!@-)(Q+R$#@%B:XOXE?L6_!?XN>*I_$OB;P/;SZ_<+MN-0T^]
MNM/FN!P/WK6TL?F' '+Y/ ]!0!\T_'3]G?4?@?\ \$[OCKX?T;Q?<>/=3U+5
M6\0WM]';1VYA#7-F]Y&(XV*HHCAFD91@ .W K[<^'_B3PSKGP\\/ZQX8N;4^
M%+BPADT^6!E$*V^P!%'.!@87'8C':H?A_P#"GPC\*_!L?A/PIH%GHOAR/?C3
MH$S&V_[Y;<26+=RV<]Z\JM_V!?@%9^)H->MOAU:6M[;W:WT4-O>W<=G'.IRK
MK:K*( 0>F$QQ0!YO9ZUI_P  _P#@HGXUNO%-PFE:+\5]"T^32=6NR([9KZR0
M0-:>82 '* . >NY0.6 /TM\7OBYX8^!_@'5O%WBS4X--TO3X&E_>R!7G<#Y8
MHP>6=C@!1R2:N?$3X9>$_BUX;ET#QEX>T_Q)H\C!S::A )%5P" ZD\JPR<,I
M!&3S7E'@K]@OX"?#_P 0VNN:1\.K)M2M-IMI-2N[K4%MRIRIC2XED1"#R"H&
M.U 'S=I'PYUKX;_\$C_&$'B.U:PUS5])OM;NK-E*F#[3<&2-"#R#Y9C)!Y!)
M':OK/X=^.O!-K^RSX>\23ZAIX\"VWA:!YY\J+=+9+95=".@P 5V]<\8SQ7/?
MM[?\F<_%G_L"2_\ H2U@>%?V'?@9XRT/PUXHU?X>:?=:K=65K?7*+/<16EQ<
M-$I:66U2002,Q.26C.3UH \P_9'_ &=_^%S_ /!/WX2:1XHO]4\/ZUI5Y)X@
M\/ZSI\@2\TV1;NX>VE4L"K*8Y/NL""CKT(!'H?AOXL?%3X)_'3P)\+?B;JNA
M_$+3/&BW<>C^)M+M?[/U&*6WA\U_M=J&:,H5  >,C!)R.U>V?$WX&>!OC%X9
ML?#_ (LT"/4=(L'$EI;PSRVAMF"&,&-H71DPC%>".#6#\)OV4?A3\#]<GUKP
M;X0AT[6IHC VI75W<7UTL9ZHLMQ)(Z*>X4@&@#UJBBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "LOQ-_P @&]_ZY_UK
M4K+\3?\ (!O?^N?]: +MC_QY6_\ US7^0J>H+'_CRM_^N:_R%3T %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%07W_'E<?]<V_D:GJ"^_X\KC_KFW\C0!2\,_\@&R_P"N?]:U*R_#/_(!LO\
MKG_6M2@ HHHH *^</%7[87_",^*-8T?_ (1+[3_9]Y-:>=_:6SS/+<INV^2<
M9QG&37T?7YQ?%3_DJ'C#_L,7G_H]Z^GR'!T,95G&O&Z2[M?D>#FV*K86$72=
MKOR_4]Z_X;=_ZDO_ ,JO_P!IH_X;=_ZDO_RJ_P#VFOERBOL_["R[_GW^,O\
M,^9_M;&_S_@O\CZC_P"&W?\ J2__ "J__::/^&W?^I+_ /*K_P#::^7**/["
MR[_GW^,O\P_M;&_S_@O\CZC_ .&W?^I+_P#*K_\ ::/^&W?^I+_\JO\ ]IKY
M<HH_L++O^??XR_S#^UL;_/\ @O\ (^H_^&W?^I+_ /*K_P#::/\ AMW_ *DO
M_P JO_VFOERBC^PLN_Y]_C+_ ##^UL;_ #_@O\CZC_X;=_ZDO_RJ_P#VFC_A
MMW_J2_\ RJ__ &FOERBC^PLN_P"??XR_S#^UL;_/^"_R/J/_ (;=_P"I+_\
M*K_]IH_X;=_ZDO\ \JO_ -IKY<HH_L++O^??XR_S#^UL;_/^"_R/J/\ X;=_
MZDO_ ,JO_P!IH_X;=_ZDO_RJ_P#VFOERBC^PLN_Y]_C+_,/[6QO\_P""_P C
MZC_X;=_ZDO\ \JO_ -IH_P"&W?\ J2__ "J__::^7**/["R[_GW^,O\ ,/[6
MQO\ /^"_R/J/_AMW_J2__*K_ /::/^&W?^I+_P#*K_\ ::^7**/["R[_ )]_
MC+_,/[6QO\_X+_(^H_\ AMW_ *DO_P JO_VFC_AMW_J2_P#RJ_\ VFOERBC^
MPLN_Y]_C+_,/[6QO\_X+_(^H_P#AMW_J2_\ RJ__ &FC_AMW_J2__*K_ /::
M^7**/["R[_GW^,O\P_M;&_S_ (+_ "/J/_AMW_J2_P#RJ_\ VFC_ (;=_P"I
M+_\ *K_]IKY<HH_L++O^??XR_P P_M;&_P _X+_(^H_^&W?^I+_\JO\ ]IH_
MX;=_ZDO_ ,JO_P!IKY<HH_L++O\ GW^,O\P_M;&_S_@O\CZC_P"&W?\ J2__
M "J__::/^&W?^I+_ /*K_P#::^7**/["R[_GW^,O\P_M;&_S_@O\CZC_ .&W
M?^I+_P#*K_\ ::/^&W?^I+_\JO\ ]IKY<HH_L++O^??XR_S#^UL;_/\ @O\
M(^H_^&W?^I+_ /*K_P#::/\ AMW_ *DO_P JO_VFOERBC^PLN_Y]_C+_ ##^
MUL;_ #_@O\CZC_X;=_ZDO_RJ_P#VFC_AMW_J2_\ RJ__ &FOERBC^PLN_P"?
M?XR_S#^UL;_/^"_R/J/_ (;=_P"I+_\ *K_]IH_X;=_ZDO\ \JO_ -IKY<HH
M_L++O^??XR_S#^UL;_/^"_R/J/\ X;=_ZDO_ ,JO_P!IH_X;=_ZDO_RJ_P#V
MFOERBC^PLN_Y]_C+_,/[6QO\_P""_P CZC_X;=_ZDO\ \JO_ -IH_P"&W?\
MJ2__ "J__::^7**/["R[_GW^,O\ ,/[6QO\ /^"_R/J/_AMW_J2__*K_ /::
M/^&W?^I+_P#*K_\ ::^7**/["R[_ )]_C+_,/[6QO\_X+_(^H_\ AMW_ *DO
M_P JO_VFC_AMW_J2_P#RJ_\ VFOERBC^PLN_Y]_C+_,/[6QO\_X+_(^H_P#A
MMW_J2_\ RJ__ &FC_AMW_J2__*K_ /::^7**/["R[_GW^,O\P_M;&_S_ (+_
M "/J/_AMW_J2_P#RJ_\ VFC_ (;=_P"I+_\ *K_]IKY<HH_L++O^??XR_P P
M_M;&_P _X+_(^H_^&W?^I+_\JO\ ]IH_X;=_ZDO_ ,JO_P!IKY<HH_L++O\
MGW^,O\P_M;&_S_@O\CZC_P"&W?\ J2__ "J__::/^&W?^I+_ /*K_P#::^7*
M*/["R[_GW^,O\P_M;&_S_@O\CZC_ .&W?^I+_P#*K_\ ::/^&W?^I+_\JO\
M]IKY<HH_L++O^??XR_S#^UL;_/\ @O\ (^H_^&W?^I+_ /*K_P#::/\ AMW_
M *DO_P JO_VFOERBC^PLN_Y]_C+_ ##^UL;_ #_@O\CZC_X;=_ZDO_RJ_P#V
MFC_AMW_J2_\ RJ__ &FOERBC^PLN_P"??XR_S#^UL;_/^"_R/J/_ (;=_P"I
M+_\ *K_]IH_X;=_ZDO\ \JO_ -IKY<HH_L++O^??XR_S#^UL;_/^"_R/J/\
MX;=_ZDO_ ,JO_P!IH_X;=_ZDO_RJ_P#VFOERBC^PLN_Y]_C+_,/[6QO\_P""
M_P CZC_X;=_ZDO\ \JO_ -IH_P"&W?\ J2__ "J__::^7**/["R[_GW^,O\
M,/[6QO\ /^"_R/J/_AMW_J2__*K_ /::/^&W?^I+_P#*K_\ ::^7**/["R[_
M )]_C+_,/[6QO\_X+_(^H_\ AMW_ *DO_P JO_VFC_AMW_J2_P#RJ_\ VFOE
MRBC^PLN_Y]_C+_,/[6QO\_X+_(^H_P#AMW_J2_\ RJ__ &FC_AMW_J2__*K_
M /::^7**/["R[_GW^,O\P_M;&_S_ (+_ "/J/_AMW_J2_P#RJ_\ VFC_ (;=
M_P"I+_\ *K_]IKY<HH_L++O^??XR_P P_M;&_P _X+_(^H_^&W?^I+_\JO\
M]IH_X;=_ZDO_ ,JO_P!IKY<HH_L++O\ GW^,O\P_M;&_S_@O\CZC_P"&W?\
MJ2__ "J__::/^&W?^I+_ /*K_P#::^7**/["R[_GW^,O\P_M;&_S_@O\CZC_
M .&W?^I+_P#*K_\ ::/^&W?^I+_\JO\ ]IKY<HH_L++O^??XR_S#^UL;_/\
M@O\ (^H_^&W?^I+_ /*K_P#::/\ AMW_ *DO_P JO_VFOERBC^PLN_Y]_C+_
M ##^UL;_ #_@O\CZC_X;=_ZDO_RJ_P#VFC_AMW_J2_\ RJ__ &FOERBC^PLN
M_P"??XR_S#^UL;_/^"_R/J/_ (;=_P"I+_\ *K_]IH_X;=_ZDO\ \JO_ -IK
MY<HH_L++O^??XR_S#^UL;_/^"_R/J/\ X;=_ZDO_ ,JO_P!IH_X;=_ZDO_RJ
M_P#VFOERBC^PLN_Y]_C+_,/[6QO\_P""_P CZC_X;=_ZDO\ \JO_ -IH_P"&
MW?\ J2__ "J__::^7**/["R[_GW^,O\ ,/[6QO\ /^"_R/J/_AMW_J2__*K_
M /::/^&W?^I+_P#*K_\ ::^7**/["R[_ )]_C+_,/[6QO\_X+_(^H_\ AMW_
M *DO_P JO_VFC_AMW_J2_P#RJ_\ VFOERBC^PLN_Y]_C+_,/[6QO\_X+_(^H
M_P#AMW_J2_\ RJ__ &FC_AMW_J2__*K_ /::^7**/["R[_GW^,O\P_M;&_S_
M (+_ "/J/_AMW_J2_P#RJ_\ VFC_ (;=_P"I+_\ *K_]IKY<HH_L++O^??XR
M_P P_M;&_P _X+_(^H_^&W?^I+_\JO\ ]IH_X;=_ZDO_ ,JO_P!IKY<HH_L+
M+O\ GW^,O\P_M;&_S_@O\CZC_P"&W?\ J2__ "J__::/^&W?^I+_ /*K_P#:
M:^7**/["R[_GW^,O\P_M;&_S_@O\CZC_ .&W?^I+_P#*K_\ ::/^&W?^I+_\
MJO\ ]IKY<HH_L++O^??XR_S#^UL;_/\ @O\ (^H_^&W?^I+_ /*K_P#::/\
MAMW_ *DO_P JO_VFOERBC^PLN_Y]_C+_ ##^UL;_ #_@O\CZC_X;=_ZDO_RJ
M_P#VFC_AMW_J2_\ RJ__ &FOERBC^PLN_P"??XR_S#^UL;_/^"_R/J/_ (;=
M_P"I+_\ *K_]IH_X;=_ZDO\ \JO_ -IKY<HH_L++O^??XR_S#^UL;_/^"_R/
MJ/\ X;=_ZDO_ ,JO_P!IH_X;=_ZDO_RJ_P#VFOERBC^PLN_Y]_C+_,/[6QO\
M_P""_P CZC_X;=_ZDO\ \JO_ -IH_P"&W?\ J2__ "J__::^7**/["R[_GW^
M,O\ ,/[6QO\ /^"_R/J/_AMW_J2__*K_ /::/^&W?^I+_P#*K_\ ::^7**/[
M"R[_ )]_C+_,/[6QO\_X+_(^H_\ AMW_ *DO_P JO_VFC_AMW_J2_P#RJ_\
MVFOERBC^PLN_Y]_C+_,/[6QO\_X+_(^H_P#AMW_J2_\ RJ__ &FC_AMW_J2_
M_*K_ /::^7**/["R[_GW^,O\P_M;&_S_ (+_ "/J/_AMW_J2_P#RJ_\ VFC_
M (;=_P"I+_\ *K_]IKY<HH_L++O^??XR_P P_M;&_P _X+_(^H_^&W?^I+_\
MJO\ ]IH_X;=_ZDO_ ,JO_P!IKY<HH_L++O\ GW^,O\P_M;&_S_@O\CZC_P"&
MW?\ J2__ "J__::/^&W?^I+_ /*K_P#::^7**/["R[_GW^,O\P_M;&_S_@O\
MCZC_ .&W?^I+_P#*K_\ ::/^&W?^I+_\JO\ ]IKY<HH_L++O^??XR_S#^UL;
M_/\ @O\ (^H_^&W?^I+_ /*K_P#::/\ AMW_ *DO_P JO_VFOERBC^PLN_Y]
M_C+_ ##^UL;_ #_@O\CZC_X;=_ZDO_RJ_P#VFC_AMW_J2_\ RJ__ &FOERBC
M^PLN_P"??XR_S#^UL;_/^"_R/J/_ (;=_P"I+_\ *K_]IH_X;=_ZDO\ \JO_
M -IKY<HH_L++O^??XR_S#^UL;_/^"_R/J/\ X;=_ZDO_ ,JO_P!IH_X;=_ZD
MO_RJ_P#VFOERBC^PLN_Y]_C+_,/[6QO\_P""_P CZC_X;=_ZDO\ \JO_ -IH
M_P"&W?\ J2__ "J__::^7**/["R[_GW^,O\ ,/[6QO\ /^"_R/J/_AMW_J2_
M_*K_ /::/^&W?^I+_P#*K_\ ::^7**/["R[_ )]_C+_,/[6QO\_X+_(^H_\
MAMW_ *DO_P JO_VFC_AMW_J2_P#RJ_\ VFOERBC^PLN_Y]_C+_,/[6QO\_X+
M_(^H_P#AMW_J2_\ RJ__ &FC_AMW_J2__*K_ /::^7**/["R[_GW^,O\P_M;
M&_S_ (+_ "/J/_AMW_J2_P#RJ_\ VFC_ (;=_P"I+_\ *K_]IKY<HH_L++O^
M??XR_P P_M;&_P _X+_(^H_^&W?^I+_\JO\ ]IH_X;=_ZDO_ ,JO_P!IKY<H
MH_L++O\ GW^,O\P_M;&_S_@O\CZC_P"&W?\ J2__ "J__::/^&W?^I+_ /*K
M_P#::^7**/["R[_GW^,O\P_M;&_S_@O\CZC_ .&W?^I+_P#*K_\ ::/^&W?^
MI+_\JO\ ]IKY<HH_L++O^??XR_S#^UL;_/\ @O\ (^H_^&W?^I+_ /*K_P#:
M:/\ AMW_ *DO_P JO_VFOERBC^PLN_Y]_C+_ ##^UL;_ #_@O\CZC_X;=_ZD
MO_RJ_P#VFNI^&/[4W_"Q_'&F^'?^$8_L[[9YO^D_VAYNS9$\GW?*7.=F.O>O
MC.O4OV8_^2X>&O\ MY_])I:Y,9DV I8:I4A3LU%M:OHO4Z<-F>+J5X0E/1M+
M9=_0^]****_,#[L*R_$W_(!O?^N?]:U*R_$W_(!O?^N?]: +MC_QY6__ %S7
M^0J>H+'_ (\K?_KFO\A4] !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 5E^)O^0#>_\ 7/\ K6I67XF_Y -[_P!<_P"M %VQ
M_P"/*W_ZYK_(5/4%C_QY6_\ US7^0J>@ HHHH **** "BBB@ HJKJ.HQ:9;B
M64,Q9@B1QC+.QZ #UIIC>WNIKN>\(MPF!"P"I&.,DGN>/UJK=2;]"Y169!XC
ML;J9(H'EGW' DB@=D_[Z Q^M5/&NFW&H:'*;262*YA/FKY3%2V!RO'M^H%4H
M/F49:7)<URN4=3>HKSWX=M<K=";4;FZS<Q_Z*LSL4D /S8R>HQT].:]"IU*?
MLY<M[BIS]I'FM8****R-0HHHH **** "BBB@ HHHH *CFGCMXS)+(L4:]7<@
M ?B:DK \<(LGAUD=0RM=6H*L,@C[1'Q517-)(F3Y4V;<-Q%=1B2&1)8ST9&!
M'YBFW%W!9J&GFC@4G :1@H)_&L;P5&L.DW*(H1%O[M551@ "=\ "J_C.".YO
M-!CFC66-KJ3*.H(/^CR]C5\BYW$GF?+S'2QR++&KHP=&&0RG((]13JQO!G_(
MH:)_UY0_^@"MFHDN5M%Q=TF%%%%2,**** "BBB@ HHHH **** "D9@BEF(50
M,DGH*6N?U*\O=0GF@LHK@10.8I6C$)WDJIQ\YZ8/ISFJC'F9,I<J+W_"2Z1_
MT%;+_P "$_QH_P"$ETC_ *"ME_X$)_C6.MOJZJ %OP!P !:?X4>3K']W4#_X
M"?X5O[./?\?^ 8^TEV_#_@G06>JV6H,RVMY;W+*,E895<@>O!JU7)^1K*L71
M+Y9<;0Q6T/X<8./QKH=-U :E;F7RF@97:-HW()5E)!Y!QVK.<.75,N$^;1HM
MT445D:A1110 5!??\>5Q_P!<V_D:GJ"^_P"/*X_ZYM_(T 4O#/\ R ;+_KG_
M %K4K+\,_P#(!LO^N?\ 6M2@ HHHH *_.+XJ?\E0\8?]AB\_]'O7Z.U^<7Q4
M_P"2H>,/^PQ>?^CWK[3AC^-4]%^9\OGW\.'J<M1117Z(?&!1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110!Z7\-?@#X@^*7A^XUC2[[2[6U@N6M
M76^ED1MP1&)^6-AC#COZTGQ&_9^\5_#/21JFHK9WNG;@CW-A*SK&3PNX,JD
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
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
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
M5V',%%%% !13F5E"D@@,,C(ZC./Z&FT %%%.964*2" PR,CJ,X_H: &T444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 44YE:-BK*5;T(Q3: "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH *]2_9C_Y+AX:_[>?_ $FEKRVO4OV8
M_P#DN'AK_MY_])I:X,P_W.M_AE^3.S!_[S3_ ,2_,^]****_%C]/"LOQ-_R
M;W_KG_6M2LOQ-_R ;W_KG_6@"[8_\>5O_P!<U_D*GJ"Q_P"/*W_ZYK_(5/0
M4444 %%%% %'6]$L/$FDW>EZI:17VGW<9BGMYEW(ZGJ"*Y[X>_"3PC\*;>[@
M\*Z+%I*73!IV6225Y,9P"[LS8&3@9P,FNOHJ'"+DIM:KJ=,<37A2EAXS:A+5
MQN[-K:ZV844459S!7RK_ ,Y3?^Z,_P#N<KZJHH ^1?\ @J)_R;##_P!C-I/_
M *4"OJ+QEX7LO''A#7/#FHJ6T_6+&?3[E1U,4L;1N/R8UL44 ?#WP#_:2L/V
M0_ .G_"/X]QW_@_4/#&[3]+\3MIUQ/I.LV88F!XIXT<*P0A2C8QM'0DJ)O&'
MC*/]O;XD?#;1? NF:M+\)/"VN0>*M:\77]C-96NHRVX;[/96RRJK2AF8ES@
M#!Z@9^VZ* /B;X[_ !.L_A'_ ,%#/!7B'5=/U&\T*/X>W46I76FVDET]A"U]
M_P ?#Q1JSM&'$:MM!($F<8!JC\0?BMH'[:GQT^"FA_"M[SQ+X=\&^)8_%>O^
M*(;2:&QL_LZ$PVXDD5=\DC,1M'3CJ-VWVK6?A?XFNOVY/#GQ!BTS?X0M/ US
MH\VH^?$-EV]XLBQ^7N\PY0$[@NWMG->^T ?'G[4GC3]E+6?&TFG_ !3UI/#W
MCW2 (8-8LX+^QU.V^7>ODW4,8,B@29 !=,L1C.179?L)^)/&WB;X7Z]+XJO]
M:US0K?7KFW\*:YXEMC!J6I:0H3R9YU(5F)._#NJLP&2.E?2-% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M5E^)O^0#>_\ 7/\ K6I67XF_Y -[_P!<_P"M %VQ_P"/*W_ZYK_(5/4%C_QY
M6_\ US7^0J>@ HHHH **** "BBB@#$W#1M?<O\MIJ)7#=DG Q@_[RX_%?>F'
MS/#=S,WEM-I4SF0^6I9K=CRWRCJA//'0D]JV+RSAU"VDM[B,2PR##*:RD;4]
M&^1D;5;,?=D4@3H/0@X#_4$'VK=/F,&N4\2\1_LUZ/J?C*+Q+X-\97'@];B3
MS+^/39MN\=28RK#83D@@Y'.<=CZ#H.H6'@>:'P]H&G_;X9)-QNVN]\EQ*W+O
M(^T[FR<DDUTLVI:)-+ONK!Q<>DVGN7_/8?YU)]O:Z:+^SM(=FCR$GN8_)2,'
MKC/S?D*QHX6C1DYQAO\ <>KC<YQ^8484*];FC#;17^?5VZ7O8M:]?O;6HM[<
MYOKH^5 OH3U;Z*.?PJ[8V::?906T7^KA0(OX#%5=-TDVLSW5Q*;J^D&&E(P%
M7KM0=E_GWK1JI-6Y4>=%._,PHHHJ"PHHHH **** "BBB@ HHHH *YZZ;^S_&
MMK<2?+!?6OV17["5&+JI^H9\?[M=#574M,M]7LWMKJ/S(F(/!(*D'(8$<@@]
MQ5Q:3U)DKK0\'^-GP9UO[9JVO>#]-T_Q#:ZL5?6O">J#]Q>.HPL\)W+Y<P'<
M,I/7D\'=^#'P6D\,ZE!XGUVV^Q:K#8K8:=HZ7TEY%I5OP619'ZN3G)' ' +<
MD]U=7VN>&FLK<_9];BN)OL\+R.8)@=K,-Y 96X0\@#MQ18R:MXPM&>:2/2;
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
MD,22D9$33%ASGC(4C-:7@_X<^&KCP/XTO/$&IW%EJ>CSV]M(T-JTPM&:9DR
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
M/#?PUM+KPV_B#Q+KO_",Z4UT;* FS>YFGE498",$85>[$]>.M4?&W@-?"?\
M9%Y:ZI%J^A:M&TEGJ4<31[MK;9%:,Y*LI/(YZBNP^TZ?\5? -GIIU?3=!UW2
M]1N[I8-3N1;P3PW#!SM<C;N5@!MXXJ]<WGA.S/P[\%:MJMMJFEZ;<S7&KWUB
MQ: -*P*QK(!DJ, ,1Z\'CCJ6(K1J7E=N[O&VR2=FG:]WIUZV.?V-.4+*VRL[
M]6U=/7IKTZ7.=7X7^']8TW67\/>,UUC4=+LI-0EM9-,DMTDACP9"DC,<D \
MJ,_K2:/\)].F\#Z7XKUGQ1%HNF7DDT#+]C::59$8!51%8;\C<2>-NWOFO3X=
M2TW1;'QJ+G4/ 5I;76C7UMIT.@^2;B0M$=H,@^89 QM8Y9B,"O)O%>K6UQ\(
MO 5A#>127%O<:D]Q:QR@O'NDBV%U!R,C=C/7G%94JV(K-04G9R6ME>W*V^B6
MZ[;FE2E1IIR<5=+;7>Z7>^S[DFE_#/2?^$>_M_7/$_\ 8VCW-W):Z;(M@T\U
MX$.&D\L.-BCC.2>>/3/;>)_AN^NZ;\)_"NG:I;W4=U;W\L6H!&"-"96FW["-
MV[9_!UW#&>]<[:6>G?$3X6^&]*@UW3-'UC0;BZ22WU>Z6V2>*9PX='/!((P1
MU_3.KXJCM4L_AGHWA_QAIL>H:;!=K)J@O3'%;S>87(+XRJD[E0D ,-O8U-2I
M5E45YOF3EI;16C))[>CWUOH5"%.,'[NC4>NKUC=;G ^*/#OA72]-\[1O%TFL
MWHD"-9RZ5);';SE@Q9A@8'!P>:=\([?2+SXD>'X-=A$^ERW(22-@2K,00@8#
MJN_;GMC.>*[SXC:A;W_@&[?Q3J?AO6O%WVB);"]T*6.2X>,%O-^T-$ I7;C;
MGG)KF_@;K&GZ3XBU<76H0:/J%UI4]MINIW1Q':W+;=K%L'8<!AN[9/7-=2JS
MGA*C=V]5?]4TEHN]K[G.Z<8XF"5DM'_P'=O7YG3_ !@TN'1/!2VGB/1M"T7Q
ME_:1:UM]!@CBS9A2"\@7^$M]W=\QP/>O$:^EO"MUH>FV.GV?Q(\5:!KWV&]C
MFTBZL;]KNYA??N9)9$4_N#C)W'C_ +YQX3\0);VX\::S/J%Y9ZA>3W+RR7.G
MW G@?<<@QN"?EP1@=0!@@8Q4Y=5?O46MM;ZV?^&_3OV?<K&TUI43WTMU7KY]
MNZ/4_%/B2/P;9^!=-TOP;X;U634/#]G=R_:M(2:>>5RZM\PPQ)V#WSFLSQU\
M*[*^^,6KZ+HLL&CZ9:VBZC?-*2T>GH(E>4>K8+# '=@.,5O:E\=M2\#S_#R'
M2-5CO=%M]!LQJ.G0.CJ9,NLB,1RL@4+QD8.TD54\+ZGH?@'XKZX;/Q3&FE^(
M=+FCL-:BE\Y[)YF1XS/R65D9,-NYZ$XR<<-/VU%.<8V?+*V[OKUTT:6RUO?Y
M'7/V51J+=U==E;3IY-[['$ZY\.-,7PG?>(/#?B5?$%GITL<5]')9-:2PB0[8
MW"EFW*2,=0?:MS5_@WX<\,75C:Z[X\CTZYOK:&Z@C72Y)0$D4',A#X3YMPZG
MA<\9Q3_B%?\ C >%[J/5_B/I'B"PE9%;3[+51<R3?,"#L5> " >2.E=-\6_A
M_;>+/$NAW*^)]#T@+I-E%=1:I>"&6+$8.]4;[Z[2/N]P1[UO]8JIQ4ZMD^;5
M)/:UOLKK?IY;F/L:=I.-.[5M'IO?^]Z=3@+7X-7T/BKQ#I>L:A;Z18>'T$NH
M:FRF1%1L>644<L7W*57@\^O%5_$?PYL+;PO-XA\->(5\2:9:SI;WNZT:UFMF
M?[C%&)RK$$;@>O'KCO\ 5O&WA[QWXF^(>C+JD6F6>MP6<.G:E>+Y<+/:;<>8
MP&0KX.&;H,9["N;NK?3_ (<_#'Q+H\VN:9K.L^()K5$@TBX%S'!%#(9"[R#@
M$G "]?UQ=/$8AN/.VI>[[MM&FES/:^EWUTM]\2HT4I<JO'WM;ZIJ]EOUTZ=2
MIK7PIT7PQH>FW^L^+X[2XU/2XM1L[&&P::5]\8;:^'PB[CM#$\X)P,5/\4?
MGA'PKH>@3:;K-TVI7>CV]ZMN]D=MWYDKYE9S(?*^7C8%/W!SEB:ROBYJEKJ=
MQX2-I=PW:V_AO3[>3R9 XCD6/YD.#PP/4'D5M?$2UL_%_A#PGKEAKFD@:7H$
M&G7.GS7:I=B6)W!VQ'E@=^01V!]JN,JUZ4ZE1ZMWT5O);$R5.U2,(+1*V_S>
MY=USX9ZEXV^+WBG2]6\3127]AIXOIM5N+58HY D4. RJ<( K#+#/W,X.:Y_4
M/ACI%UX3U;6_#/BG_A(/[)$;WML^G26K(CMM#J68[@#UZ8'-=MK7B729/BI\
M3KN/5;)[6\\-36]M.MPA2>0P0 (C9PS$@C YX-<C\+]6L=/^'_Q)MKJ]M[:X
MN]/A2WAFE5'F82$D("<L0.PK*G4Q"I1DG:RIZ65M;7Z?E:QK.%%U'%J]W/6[
MZ7MU_.]R72?A#HK3>&K+6_%QTG5M>AAN+:U@TUKE$28XBWOO7!;CC!QGDXYK
MB?&F@VOA?Q1J.D6MY-?+8S-;R33VX@)D0E7 4._ (/.>?2O?=KZ7H/@Y;B\\
M&V?B;3;",._BQF2]M2&+0*JQ94*JE2OF9;H2!7@OCO1=6\/^,-5LM<=9=568
MRW$T;AUE9P) X(ZA@P;\>U;8*O4K57SSNM=-.^ZTO:UNO4RQ5&%.FN6/;77M
ML]=_D8-%%%>V>4%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %>I?LQ_P#)</#7_;S_ .DTM>6UZE^S'_R7#PU_V\_^DTM<&8?[G6_PR_)G
M9@_]YI_XE^9]Z4445^+'Z>%9?B;_ ) -[_US_K6I67XF_P"0#>_]<_ZT 7;'
M_CRM_P#KFO\ (5/4%C_QY6__ %S7^0J>@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH *R_$W_(!O?^N?]:U*R_$W_(!O?^N?
M]: +MC_QY6__ %S7^0J>H+'_ (\K?_KFO\A4] !1110 4444 %%%9T'B/2;K
M7KK1(=4LY=:M88[FXTZ.X1KB&)RP21XP=RJQ1@&(P=IQT- &C17)^.?BQX/^
M&MG?W'B3Q#8Z6;'3Y-5GMWDWW*VB,J/.($S(R*SJI95(RP'4UU4;B1%=3E6&
M0: '4444 %%%<_XD\>:%X1U?PYI>K7WV2^\17K:?ID7DR/\ :)UADF*952%_
M=Q2-EB!\N,Y(! .@HHHH **** "BBB@ HHHH **** "BN<\:?$CPE\-[.*\\
M7>*=%\+6DK;([C6M0ALXW;T#2,H)K.L/C1X'U?4O#%CIGB?3]7E\3?:?[(ET
MN7[7!=_9T$DVV:+=&-JD'YF&<\9- '8O$DA0NBL4.Y=PS@XQD>_)_.ECC2)2
MJ(J#).%&.2<D_G3J* "BBL#7?'FA>&?$GAK0-2OOLVK^))YK;2K?R9&^T20P
M//(NY5*IB.-VRY .,#)(% &_1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 5!??\>5Q_US;^1J>H+[_CRN/^N;?R- %+PS_P @&R_Z
MY_UK4K+\,_\ (!LO^N?]:U* "BBB@ K\XOBI_P E0\8?]AB\_P#1[U^CM?G%
M\5/^2H>,/^PQ>?\ H]Z^TX8_C5/1?F?+Y]_#AZG+4445^B'Q@4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !7;^'?B%8
M^$_"][::7H7E>(;ZUDLI]:DO&;$3L=PCBV@(VW"[MQZ9[UQ%%95*4:RY9[?U
M]_IL:0J2IN\=PHHHK4S"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** -7PKKG_",^*-'UCR/M/\ 9]Y#=^3OV>9Y;A]N[!QG&,X-0:[J
M?]M:YJ&H^5Y/VNXDN/+W;MF]BV,X&<9ZXJC14<D>;GZ[%\SY>7H%%%%60%=Y
MIWQ"T>X\)Z5H7B+PT^L)I33?8[BUU!K1U21][*PV.&^8DYP/2N#HK*I2C524
MNFN[7Y&D*DJ=^7K\_P SJO&_CD>+(=+L;/38=&T72HWCL[&)S(4WMN=FD;EF
M8]_;I7*T44Z=.-./)!:"G.527-+<****T("BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "NF^('C3_A.M:@U#[']A\JS@M/+\WS,^6@7=G:
M.N,XQQ7,T5#A%R4VM5^O_#%J347%;,****L@**** "BBB@#TS5OB?X9\4:DN
MK:]X):_UETC%Q-#JSP0SLB!0QCV$CA1P&%<;XR\5W?C?Q-?:W?)%'<73+F.%
M=J(JJ$50/0*JC\*Q:*YJ>&I47>"V5MV[+LKO3Y&]2M.HK2?GLOQMN%%%%=)@
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %>I?LQ_\EP\-
M?]O/_I-+7EM>I?LQ_P#)</#7_;S_ .DTM<&8?[G6_P ,OR9V8/\ WFG_ (E^
M9]Z4445^+'Z>%9?B;_D WO\ US_K6I67XF_Y -[_ -<_ZT 7;'_CRM_^N:_R
M%3U!8_\ 'E;_ /7-?Y"IZ "BBB@ HHHH **X#X]^.-4^''PA\2>(]&@6?4[*
M%#"LB%U4O(B%R.^T,6]/EYXKQK]C+X]>,OBY?>(]/\4SKJ:6,4<\5\MND)0L
MQ'EL$4*<@9'&?E/7MR3Q5.%>-![R/H</D6*Q665LV@U[.F[/76^FRMYKJO*Y
M]24445UGSP5X1\7/VN=(^%'Q9MOAS%X"\<^./$TVB+X@\GPCIL%VL=H9W@W-
MOGC8$.F#\N/G7GG ]WKY5_YRF_\ =&?_ '.4 =+X-_;>\"Z_XRT_PGXFT3Q;
M\+?$.I2>5IUGX\T9M.%\^0-L,H9XF8D@ ;^20!D\5]"UX)^W9X!T?Q]^R=\3
M(]6@C>32-$NM;L;@J/,M[JUB::)XVZJQ*;<CL[#H2*\U\7?M=:SX!_9#^"_B
M(W.DP>._'UIIFGP:IXCN!!IUG/+;!Y[ZY=B/W2 ,V,Y)=1SS0!]BT5^?FN?M
M4ZY\!]5\,Z[<_M+>!_CQH6H:M;:;K'AW3[?3K:]LX9FVFZM/LDK.XC.,I(&^
M7^+/->^_#'XJ^*=-_:R^)GPI\9:K_:-I+8VWBCPA(]O%$RZ>Y,5Q;YC1=_E3
M8 +;G(R23B@#Z&HKY>L_V@M>U#]H3XS:D=4DB^#_ ,*O#HCU"UAMH6^VZJ(V
MN9W64KO_ ',*F,H&4;BI.<\X/PYL?VD/V@/ &E_$NU^+6F?#2#7[<:EH_A"V
M\,6^H6\5J_SVXN;F4B5V>,H6*;0-V0.U 'U_17R+IO[5'BOQA^QK\7O%CQVO
MAKXH> 5U?1=3%BHFMX-3LTSYL2R@AD.48!P1G<.<4>']"_:<^*GPRT7X@Z7\
M6-$\*:MJ>F0ZG9>#%\-P7%BRO&'CBN;MR9=[ C<T84*2=JD#) /KJBOC;Q!^
MV=XGUO\ 8?T7XN>'M)M=)\07=[#I6M37%M)<VN@L+DV]W=M$K;GC0J65=QP'
M3<3@@]W\$="^)6L:UI/B>']I#2?BMX)F+&[L[?PU8Q*X*-M\BXMGRA#;<A]_
M />@#Z.HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ K+\3?\@&]_P"N?]:U*R_$W_(!O?\ KG_6@"[8_P#'E;_]<U_D
M*GJ"Q_X\K?\ ZYK_ "%3T %%%% !1110 5\^_&C=\-?VBOA1\1HALT[6FD\!
MZY)V"7)\[3W/IMNHS&"?^?K'?!^@JX?XV?"^#XS?##7/"4M\VE3WT:/9ZDL7
MFM9744BRV]P$W+N,<L<;[=PSMQD9H ^5?&_CS78O"/[3GQ^\.WYL=0TJ ^%?
M"E\T23"*WT]L7$J+(I1EDO)+@<@@^2OL3ZKXZ\1?$KQ7^U3??#;PSXO3PCX8
MC\&V.NW&H1:?;W5W!.U]>0LL E1ES(J19:0.JB$A4W2%AMZK^R[9W7[),WP/
MLM<:RBFT7^RY-<>T\QGF8[YKEH=XRTDA=RN_JYYKM+7X5_9_CUJ7Q*_M3=]L
M\-6OAW^R_L^-GDW5Q<>=YN[G=]HV[=O&S.XYP #QWX<>!_&4W[5'Q(GG^*FN
MRVNFP:&\]A_9VG"&\A9+EA Q-N71 =_,;*W[QB2>,/\ "WQD\8:E^PKXZ^(=
MQK'F>,--TWQ7<6FI?9H1Y;V=U?QVI\L)Y9V+!$,%2&V_-DDY])F^$.OZ=\<+
MWQ[X>\81Z;IVLVUG;:[H-[I8NENA;&7RW@F$J&!RLK*25D!P..*\VOOV0_$[
M> O%OPXTSXJ/IGPTUYM1=-*_L&.2_M%O)9)I8!>&8!X3)-)D&+S"K%?,'! !
MH?$+XG-)X?\  UHWQ7U7P?XAOM&BU"YT_P ,>&DUO5+SS%CQ,+=;:X*1AMX.
M(<$L &7;@^5^&OBAK/Q;L_V:-:\03_;-6M_B+K&ES7K636+W0MK34X$F>W8
MPNR1J6C(&UBPPOW1[/)^SCXD\/>-H?%'@CQ_;^';^YT"P\/ZNFH:$NH)<QVF
M_P F:',\9@D_>OD$R(?ERI(R:WA#]DM?"-G\/[9/%USJ(\)^+M3\5>?>62F:
M]-XMV#"[*X"LIN\F0+ABGW%W< 'T'1110 4444 %%%% !1110 4444 ?,?[.
M?AG2?BA\3OC)\0/%&GV^M>)M/\8WOA;3Y-0C2;^S-/LUB6**!3D1>87:9BN"
MQD!;I6A\1O#FD^%_VGOV?;71M+L])M7D\1S-!8VZ0HSM8Q[G*J "QP,GJ<5M
M>(/V>-?TKXE:YXV^&7CX^!;_ ,1&*37-*U#25U73+Z:-0BW A\V)XIM@569)
M &"C*D\UJVOP5\0:CXP^&GBGQ/XTBUW6O"#:FTTD&D+:1WWVN(1*%02MY0C
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
M&E.4L3)I)Z:ZZ;;FM'$8>52*C02=UKI_D?45%%%?'GTH5E^)O^0#>_\ 7/\
MK6I67XF_Y -[_P!<_P"M %VQ_P"/*W_ZYK_(5/4%C_QY6_\ US7^0J>@ HHH
MH **** (YX([J"2&:-9H9%*/'(H964C!!!Z@BL_P_P"%=%\)VKVVB:18:-;N
MV]X=/MD@1F]2$ !-:E%*RO<T52:BX)NSZ= HHHIF85\9_%SQ/J_PB_X* 6WC
M^7X>^.?%OAF?X8KH7VOPCX>GU)4NVU5Y]C%!M!")DC.1N7CG-?9E% 'Q5\6_
M&'Q4_;,\-S_#7P;\-/%'PQ\&ZRXM_$'B_P <VB6%PED&!>.VM"YD=I I7)P,
M'!V[MPZW]K+]F_4=<^&/PQ_X5[X?T_Q#/\,M2M+RS\)ZEL\C5+&&+R7M,N-@
M8QA<%ACY3WQ7U110!\<>%_B)X%\1ZSI&F6/[(/BS3M7GN(XYY=4\"6=E9V/S
M /*UTYV,J\L"F20.!GBNH_;.\.^(_"^L?#;XT>"/#FH^*?$O@C4WM[S1M'MW
MGNK_ $J\3R;B-8T!+E6\MP,?+AFR,$U]/T4 ?,W[//[.M[:_L?ZMX0\7M+:>
M+/B'8ZCJ'BBX,829+W4D?S=R]GC614(]8ZX_X0_'?QU^S_\ "OP_\-/&GP2^
M(&N>*O"]C'HUI?\ A'2A?Z3J<,"".WE6Z#@1;D5-WF!2.3C.0/LFB@#X2;X.
M^(_A;^P9^T3K'C2TATWQEXZ&N^+-4TR"83)I[W,9*VP=?E8JJY)'&6(R0 :W
M/AG^U/XW\#_ GP?X<D^!?CS7O&EMH-I:Z=/HVG+<Z'J!$"+!/]M5]L43KL9@
MX#)DC'%?1_[0GP]U'XL_ WQWX,TB:UMM4U[1[G3[::]=E@222,JI<JK,%R><
M*3[5M_"_PS=>"?AIX2\.WTD,M[I&D6EA/);DF-I(H4C8J2 2I*G&0#CL* /!
MO@'X0U3]CW]DWP_IGB7PSK?C77I)YKK6M/\ "=BE_,D]U))*X$09=Z("L9*;
MLD9 (/'DOAWPK%XX_:2\ >*_@U\'/&GP?-MJ+3>,M6UK2&T#3]0T_8Q,#6I;
M%Q*SMPRQY!.2>Z_?5% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !67XF_P"0#>_]<_ZUJ5E^)O\ D WO_7/^M %V
MQ_X\K?\ ZYK_ "%3U!8_\>5O_P!<U_D*GH **** "BBB@#P4?M!>./%_B/Q1
M;_#GX86_BO0?#>J3:)>:IJ7B--,DN+R$J)TMX3!)O"%MNYWC!96 X&:]2\3?
M$KPU\/\ 0;+5/&VOZ/X,@N JEM;U*&VC64KDQB1V56(YZ=<5\^_&#P[X=^&\
M'CWXG_#CXMVW@'7(6GOM:TR6\@O=$U"]A4K(MS:.=T<[F(1LT+QOE>0S<'.^
M&OB73?''[30U[XF:99Z/K.J?#K0[_P -Z9K(7;:B8SR:I%$)/^6J2&W5\?-M
M5<\8H ^C]>^+G@7PMX=L=?UKQIX>TC0KY0UIJE_JL$%K< XP8Y6<*PY'0GJ*
MN_\ "?\ AC^R-+U7_A)-(_LO56V:???;HO(O&\MY<1/NVR'RXI'^4GY8V/12
M:\,\<?$:+5OBYIG@#P?;>!-)ATOPVFN1>)/$MJ+NV2VFF:'RK*".2+>H^SY=
MA*JC]V,'M\V>$M"TKQO\*_A;I.I?V7K^@7'[0.H[%T^U\G3;F#;JDJ>3 7<)
M;O\ >6/<XVM@EN20#[]\(_%+P9\0+6]N?"WB[0?$EO8G;=3:1J4-TEN<$XD,
M;$+T/7'2J=K\;/AY?:UIFC6WCWPQ<:OJD,5S8:?%K%NUQ=Q2*&CDBC#[G5U(
M*LH((((KR;QAX?TS0OVK[&?3;"WL)+WX9:XES]FC$8F$-]IWE;@."4\Z7!ZC
M>WK7C>@_#GPSIG_!+GP]<VNB6<%Y_P (]IVLB[CA59Q>>;#*)_, W;PX&#GH
M .G% 'V?XR^(WA/X<VMM<^+/%&B^%[>Y?RH)M9U"&T25^/E4R,H8\C@>M6[S
MQ=H6G1Z=)=ZUIUK'J08V+S74:"ZVQ-,WE$GY\1(\AVYPB,W0$U\E>,+?Q5=_
MMJ>-[>+6_ ND74GAO31H*>.=&GO_ #K',WVH692Z@52)_P#6C#$@PYX%<U?_
M  7LM'\._LX^"=;UW1_'.A3?$/4IU;1XO+T[R6M=0F-FD?F2?N8WWQ&,L1M!
M0\9% 'UM>?'KX9Z?X9L_$EU\1?"=MX>O9'AM=6FUNU2TGD0X=$E+[&93P0#D
M'K77:-K6G>(]+MM3TF_M=4TZY7?!>6<RS0RK_>5U)##W!KP;XO?"\67Q*TSQ
MCX*UOP=IGBC3-%DL)/#7BBV0V5U9O,9 ZE")+9C(A'FJKJ=N"C;:[W]G/X@V
M/Q2^#/A[Q+IVA6_AJVNOM$7]F6;H\$3PW$L,AB= %>-GC9D< ;E96QS0!Z31
M110 4444 %9OB3Q'IG@_P]J>NZU>Q:=I&FVTEY>7DQPD,,:EG=O8 $UI5XS^
MV7X+UGXA?LL_$WP_X?AFN=8O-&F^SV]N,R3LF',2C!R7"E0.^[% &/H/QW^*
MGC;3[3Q!X9^"9G\)7NV6SGUGQ/#8:E<6[9*S"T,+J@*[6"R3(V&Y KU3Q1\5
M_!/@C6++2?$7C'0- U6^Q]EL=4U2"VGN,G \M'8,W/' -87PU^/WP^^)/@72
MO$>B>)M)33KJ*,&"2[CCDM9& 'D2H2"DBGY2A .17C/P?/@/[9\?A\3/[!_M
MO_A*]2_MG_A(!%N_LC8OV'/F<_9_LNS'\.[S.^: /I'Q!XY\-^$MG]N>(-+T
M;?;RW:_VA>QP;H(B@EE&]AE$,L09NB^8F<;AFEI7Q5\%:[X2N_%6F^,-!U#P
MQ9J[W.M6NIP2V4"H,N7F5BBA1R<GBOBGX/\ A5/%VL?L8P^+]/;4?L?AGQ+>
M6<&JIYA\I#8BR=E;.2L!B9=W((4]170?M!Z+8:##^V/#IMI%8P77PZTB\FAM
MUV(\[1ZM&TFT<;BD,2D]PB^E 'UMIOQ6\%:SXMN?"VG^,- OO$]MN\_1;;4X
M)+V+ R=T(8NN!UR*=XB^*7@SP?KEAHNO>+M"T36-0P+/3]1U*&WN+G)P/+C=
M@S\\< UX5\3OASX9\(^ _@2-&T2STU])\7:"EG-:PK')&)"8Y/F4 G>KN&S]
M[<2<FO(/#_A7Q-XX\5?M#:#J'B7X9Z7>7WB6_M]3MO&.@3W>I#37C"V+B7[;
M$OD?9BFS";582=3NH ^W_&'CKPW\/=)_M7Q3X@TKPUIF\1_;=8O8K2'<>B[Y
M&"Y..F:X+Q+^U=\)/"6K>&K+4_B#X;MX_$$$UU9WS:Q:K:^3&/\ 6-*9 H5F
M!52,[F# ?=./%/"FAZ;X9_:*^%6B?$/7=.\4VVG_  RBM_#6MZAL^S:AJ"7
M6]GAWLRF9H%M&R"6V,Y!()KM_B))X,L?C]\#98QHD.CW4&OVMO)&L0MY)!%"
MWEJ1\N<I*<>H;OF@#V'Q1\6_ W@>WTZX\1^,_#WA^WU( V,NJ:K!;+=9 (\H
MNX#Y!'W<]:U=0\7Z%I*63WVMZ=9+>H\MJUQ=QQB=$0R.R9/S!4!8D=%&3Q7S
MU\.V\+_\-)?'(>-O[)_MC=IITG^UA%M_L+["FWR/,_Y9?:/M>_;QOZ]J\(^'
M_A72?&UY^S_HMW9K?^ )_B/XODT"TD&;:?2(H;Z:R55/WH/W:[5/RE !@J10
M!]^^%O%FA^.-!M=;\-ZSI_B#1;K=Y&HZ7=)<V\VUBC;)$)5L,K*<'@J1U%:U
M065C;:;;);VEO%:VZ9VQ0H$09))P!QR23^-3T %%%% !1110 4444 %<;\-?
MA9I'PMM]?739KJ\NM>UBZUS4+V^9&FGN)VR<E$4;44)&@QPB*.<9/944 >/:
MA^RYX4OM4U:[6_UBTAU+Q=IWC:2QMYXA;QZE:&)@R QDA)FA0RC)).2I3->P
MT44 >/Z3^S;:^%?A?X/\#^%_'?C'PK9>&+8VEK?Z7=6OVFXC..)Q+;O$YXX/
ME@C)QC)KK?A9\*M*^$NC:C9:==ZCJEUJE_)JFI:IJUP)KJ]NG5$:61@JKG9'
M&@"JJA44 #%=G10 4444 %%%% !4%]_QY7'_ %S;^1J>H+[_ (\KC_KFW\C0
M!2\,_P#(!LO^N?\ 6M2LOPS_ ,@&R_ZY_P!:U* "BBB@ KY"\<?\CKX@_P"P
MA<?^C&KZ]KY"\<?\CKX@_P"PA<?^C&KZ/)?XD_0\3-/@CZF)1117UI\Z%%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 445ZWX=T33IO@?JM_)86LE\C2;;IH
M5,JX9<8;&17/6K*BDVKW:7WFU*DZK:3V5SR2BO4?@)H]AK&M:HE_8VU\B6ZL
MJW,2R!3NZ@$'%86E_#35?%BZO>:6+8QVMT\/V=F*NQSP%&,8P>Y%9O%0C4E"
M>G+;7U+6'G*$91UO?\#BZ*[S7O@OX@\/Z//J4CV=U# I>5;:5F=%'4X*CI[&
MM1;/7+SX,V$*Q:9_94ER!'(6<7&XS,O.1M'S$\Y^[2>+IM1E!IINVXUAYW:F
MFFE<\OHKZ=L=$U+P?X%TVTT0Z1#?*%:ZDO&;RI#M)8@KR3G&,]J\T\?7&NWW
MPST6ZU"+3$L9KE98VM2XF+.LC?,", 8SG!/.*YJ./5:=HQTO;?\ 2QO4P?LX
MW;UM?;_@GEM%>@:3\$?$.J:?!=.]E8>>-T<-W*RR,.W 4X/L>>:P%\ ZVWBD
M>'_LA&HYZ$_)MQG?NZ;<=_PZ\5VQQ-&3:4UIN<KH58I-Q>ISU%>^_"OX9:OX
M&\5375\]K/!+9O%OM9"VQB\; ," >0#^5>*>)_\ D9-6_P"ON;_T,UG1Q4*]
M24(:I):EU,/*C!2GHWT,VBO=+5M$\+_";2-:G\-Z=JEPP5'\Z! S99N2Q4GM
M5"]\.^'OB5X)O=:T/3%T?5;$$R6\. K%1N*X& 01G! !R*P6/5[R@U&]KZ;F
MKPCM925[7L>-45UOA'X9ZIXRT^6^M+BRMK:.3RB]U,5^; /0 ^HZT:]\+];\
M.ZM86%RL#F^?9!<1R_NBW<%B!C'7D?3-=GUBCSNGS*Z.;V-3EY^70Y*BO8_%
M/P/6WTG2VTZYLK:YBMV:]DN;AP)GPIR@P>/O>G45R/A?X3:QXJTB/4K>XL+:
MUD9E0W4Q4L0<'@*>_K6,,;0G#VG-9&LL+6C+DMJ<516YXN\&ZGX*U!+34HU!
MD7?'+$VY''?!QV]#73_ W2[+5O&,\-]:07L(LW81W$2R+G>G.".O)_.M:E>,
M*+K+5+4SA1E*HJ3T9YY17ON@R>%_'7B#6O#<OA2SL'M/,"W5JBJ6"/L)RJ@J
M>01U'7\:'@NQ_LSX7>.[/?YGV>:ZAW_WML0&?TKB>/LG>%GIIY/J=7U.[5I7
M6OX'B-%=AX3^%VK>,-+;4+6XL;:U60Q;KJ8K\PQQ@ XZ]Z9K7PPUO0M<L-+N
M%MS)>G$$ZR_NFQU^8@8Q]/IFNWZQ1YW#F5T<GL:G*I\NAR5%>Q>,_@G'8Z99
M2Z9<V=N]O:LUXUU.X,S@ ED&".QXXZBNX\->&]0\&^ +6VTIM+CUAFW37%TQ
M\IB6)/S*,D@8 ^E<,\SI*"E#5MVMM_F=D,#4<W&6EEZGS+17?:?\.?$?Q$OM
M1U8?9+>.2X<F>9RD3MN.0@ )VCIG]>M9/BCX<ZSX1OK6WOHXRETXCBN86+1%
MB>F<9!^HKNCB:4I<G,N;L<DJ%11Y^5V[G+T5Z./@+XE^W2P&2Q6.- YN3*_E
MG.?E'R9R,>G<5F:#\)=<\2:'9ZI8M:O;W,C1A6D*M& 6!9OEQC*]B3R.*GZY
M0M?G5O\ ,?U:M>W*SBZ*]%NO@/XFM[BWC0V5Q',3F>*8[(\#.6RH./H#6/XR
M^&.L>![6"ZOC;SVTS^6)K5RP#8R <@'D _E1'%4*C48S3;"6'JQ3E*+LCDJ*
M**ZSG"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *[;X+_\ )2]'_P"VW_HE
MZXFNV^"__)2]'_[;?^B7KEQ7^[U/1_D;X?\ C0]5^9]14445^<GVP5E^)O\
MD WO_7/^M:E9?B;_ ) -[_US_K0!=L?^/*W_ .N:_P A4]06/_'E;_\ 7-?Y
M"IZ "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ K+\3?\@&]_ZY_UK4K+\3?\@&]_ZY_UH NV/_'E;_\ 7-?Y"IZ@L?\ CRM_
M^N:_R%3T %%%% !1110!PUQ\"?AK>>*CXGG^'GA6;Q*9OM!UF31+9KSS"<[_
M #BF_=R><YYK7\:?#GPG\2-/BL?%WAC1O%-E$_F1VVM:?%>1HW]X+(K 'WKH
MJ* ./USX-^ ?$]GI%GK'@?PWJUIHX5=-M[[2+>:.Q"XVB%60B,# QMQT%:?_
M  @?AK_1?^*=TG_1;\ZK;_Z#%^YO"K*;E/E^67:[KY@^;#$9Y-;M% &?<>']
M+O-534Y]-LY]2CMI+)+R2!&F6WD9&DA#D9",T<99<X)121P*JKX)\.KX5C\,
M+H.F#PW' MLFCBSC^QK$N-L8AV[ HP,+C P*VJ* .<\:_#?PE\2K*&S\7>%M
M%\4VD+%XK?6M/AO(T8XR5616 / Z>E26G@#PO86FB6MMX;TBVM=#D,VE0PV,
M2II[E64O H7$3%7=<I@X=AW-;]% '*>-/A+X'^)$]K-XM\&>'_%,UKQ;R:UI
M<%XT/.?D,B-MY]*Z2QL;;2[*"SLK>*TM+=!%#;P($CC0# 55'  '85/10 44
M44 %%%% !1110!P]]\"OAMJ7B@>);SX>^%;KQ&)!*-8GT2V>[#CHWG%-^??-
M7O%'PI\$^-]8LM6\1>#M U_5;''V6^U32X+F>WP<CRW="R\\\$5U5% &=<>'
M=*O-8T_5I],LY]4TZ.6*ROI+=&GMDEV^:L;D;D#[$W!2 =BYS@55U/P3X=UK
M^V/[1T#2[_\ MBU2QU/[59QR?;K=-^R&;<I\R-?-EPK9 \Q\#YCG;HH H7WA
M_2]4@LX+S3;2[ALYH[BVCG@5U@EC.8Y$!'RLI^ZPY':L#QC\'_ ?Q$OK:]\5
M^"?#OB>\M@%@N-8TFWNY(@#D!6D0E>23Q7744 <_XH^'OA7QQH<>B^(_#.CZ
M_HT>W9I^J6$5S;KM&%Q&ZE1@=..*IZI\)/ VN>$;3PKJ7@OP]J'A>S*FVT2Z
MTJ"6RA*YV[(&0HN,G&!QDUUE% '*>+/A/X(\>0Z?#XF\&^'_ !%%IV/L4>K:
M7!=+;8&!Y8D0[. /NXK7G\+Z-=7>D74VD6,MUHY9M-FDMD9[(M&8F,+$9CS&
MS(=N,J2.AQ6I10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 5!??\>5Q_US;^1J>H+[_CRN/^N;?R- %+PS_R ;+_ *Y_UK4K+\,_\@&R
M_P"N?]:U* "BBB@ KY"\<?\ (Z^(/^PA<?\ HQJ^O:^0O''_ ".OB#_L(7'_
M *,:OH\E_B3]#Q,T^"/J8E%%%?6GSH4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !7MGP_MWU_X*ZUIEB/.O@\@\G."2=K#\QG'N*\3K2T'Q)J?AFZ-QI=Y)
M9RL,,4P0P]"#P?Q%<>*HRK02B[---?(Z</55*;<EHU8]=^!?AS4?#MQK&I:K
M9S:;;" *&NHS&3@EF.#S@ =?>CX8ZBZ_#WQM?VS-#(&N)XV[J?)W _45YKKG
MQ(\2>([-K74-5DFMF^]&B)&&]CM R/K5/2_&&KZ+I-[IEE=^38W@99XO*1MX
M9=IY()''H:X9X.K5YY3:YI-=[61UQQ5.GRQBG97];L]0^"K&;P+XLBD_>1E6
MRC<@YB(/'O@5#=?\FX6?_74_^E+5YMH?C+6/#=E=VFG7GV>WNAB9/*1MW!'5
M@2.#VI&\8:N_AM- :[SI*'<MOY2<'<6^]C=]XD]:J6#J2JN::MS1E\DB8XF"
MIJ#3ORM?>STOXE?\D:\(?]L/_1#59\6201_"'P2]T-UJMW:F48SE/+DW<?3-
M>5ZEXPU?6-%L])N[OSM/M-OD0^4B[-JE1R!D\$]31J'C#5]4T.TT>ZN_-TZU
M*M##Y2#:5!4?,!D\$]3WHC@ZB4$VM)-_)A+%0;DTMTE]Q[Q\3&T^/4=,N[OP
MQ?:]M3,%S93R 1G=G&$/7H<]_P *C\+>)$\0?$YI[K2;G2+XZ1L2.Z.&9!+N
MSCC!.>_8?GXUH_Q.\3Z#91VEEJTD=M&,)')&DFT>@W*<#VK/N/&&LW>N1ZQ+
MJ$K:G'C9<# *@9X  QCD\>YKGCEL^1TY-;-)W?Y;+S-Y8Z',II=5=67Y[GKO
MPLT37K#XDZ_<:A;W4=NZRAYI5(CE8R J03PW&[!'0?6O'/$__(R:M_U]S?\
MH9K=?XN>+9+J*X;69/,B!"XBC"\]<KMP3[D5REU<R7ES+<3-OFE<R.V ,L3D
MGCWKNP]"K"K*I4MJDM/(XZU6G*"A"^C;U\SVW6--N]5^ ^C065K->3YC;R[>
M,NV S9. *F\!:?=?#CX<:[J.L1_9);@%HK>4X8G9A 1V))Z=:\STKXJ>*-%T
M^"QLM4\FUA7;'']GB; ^I4FLOQ!XNUCQ0Z-JE_+=A.51L*B^X4 #/X5RK!UI
M)TI-<CE?K??8Z/K5)-5(I\R5O(])TOP+HVC_  [L=9O=*OO$EU=E7%I;2NJH
M6!QPG(   )YY-:/QFC$?PS\.J+-M/VRQ 6KN7:$>2WR%CR<=.?2O,=#^(OB+
MPWI_V'3M3>WM<DB,QHX7/7&X''X55U3QEK.N:7#IU_?R7=I#*9D64*6WG.26
MQN/WCU/>K6$KNLJDY72=]WMZ;(GZQ25)PBK-JVRW]=SU/XX:+J&K67AJ2QLK
MB\2."3>UO$TFW(C(S@<=#^51W'@/1?#'A'2+F;0K[Q3>W85O+AGD5$9E!.-G
M0=.QSBN M/BAXHL=+33H=6D6T5/*5#%&Q"XQ@,5ST]Z;IOQ,\3Z1I::?::M+
M%:(NU$V(Q4>@8@L/P/%3'"XF%.-)25HONU=:]MBI8BA*;FT[M=D['H'[12[8
M/#'R>6=DX*YR1Q%QGOBL7]GS_D>+C_KQD_\ 0TKA]:\5:KXBM;&WU&\:[BLE
M*0;U7*@@ Y(&6^Z.23TIOA_Q+J7A6^:\TNY^RW+(8R^Q7^4D$C# CL*VCA9Q
MP;P]U?7TW,98B+Q*K6TT_(].U[XRKH%_K%EH_AZTT^\^T21R7H8$R,&(WE0H
MR>IY)Z]ZE^',CS?!WQB[LSNQN&9F.2285R2:\>O+N74+R>ZG?S)YG:21L 98
MG).!QU-:FF^,-7T?1;S2;2[\G3[O=Y\/E(V_<H4\D9' '0T3P,524*2L[IO?
MH..+?M.:>JL[?,])L_ NBZ%\/],U:[T>^\37=[MD%M;RNBH77/1.@P ,\G/Y
M5>^.$7E^ ?#8:U-DZNB_9W<R-#^ZY0L>6QC&>^*\TT;XD>)/#^G"PL-4D@M%
MSMC,:/MSZ%E)'X53U;QEK.O:;;V&H7SW=K;N7C615+!CGDMC<>IZFLXX2O[:
M-2<KI-O=[>FR+>(I>R<(JS:2V7Y[GJ7QZT>_U)M"FL[*XNXH[>3>\$3.$^Z>
M<#CCU]*9XF_Y-_T?_>C_ /0FK@(_BAXHCTO^SAJTAM/+\K:T:%MN,8W%=W3W
MJA=>,M8O/#\.B37F_2X2"D'E(,8)(^8#=W/>E3P=:,*<)-6A*_7;7R'/$TY2
MG-7]Y6_(]3\26=WKGP/T!-%BDN4C,7VB&V4LQVA@V5')P^"?SJSKL,NF_"3P
MS::P"-2^UP"))!\Z?.2 ?0B/@_E7DOAWQQKGA-9$TK49+6.0Y:/:KIGUVL"
M?>HM:\7:OXAOH;S4;Z2ZGA.8RP 5.<\*!@=!V[4+!5.91NN52<O/T!XJ'*W9
M\S5O(]0_:&U:]M=4TJVANIH8# SF.-RH+;L9..O HBFD@_9Q8QNR%G*$J<$@
MW."/Q%>7^(_%FJ^+;B&;5KK[7+$NQ&\M$P,YQ\H%._X3#5_^$;_L#[7_ ,2G
M.[[/Y2==V_[V-WWN>M5'!RC1I4]+QDF_Q)EBHNK4GK:2:1ZA<7DZ_LXVS"5P
MS,8BVXY*_:&&WZ8 &/3BJVL3R7'[/.DM(Q=A/L!/HLLB@?@ !^%><-XPU=_#
M:: UWG24.Y;?RDX.XM][&[[Q)ZTV3Q9JLWAV+0GNLZ5$V]+?RTX.XMG=C=U8
M]^]-8.:=]/CYOE_F)XF+[_#R_,R****]<\X**** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ KMO@O_ ,E+T?\ [;?^B7KB:[;X+_\ )2]'_P"VW_HEZY<5_N]3
MT?Y&^'_C0]5^9]14445^<GVP5E^)O^0#>_\ 7/\ K6I67XF_Y -[_P!<_P"M
M %VQ_P"/*W_ZYK_(5/4%C_QY6_\ US7^0J>@ HHHH **** "BO//V@M5\1:'
M\&_%%]X4$QUV&W4P-;IOD53(HE91ZK&7(],9KPO]A/QUXZ\82>)D\0ZCJ6LZ
M)"D9@N]2D>5DG+'*)(Q)(V\D9.,#IGGBGBHPKQH-.\NI]+ALCJXK*J^;1J14
M:32<7N[V_P ].]GV/K>BBBNT^:"OG/XN?M.>-O"7[05M\)O ?PK@^(&L/X77
MQ3+<7'B6/2EB@-V]LRX>!PQ#*ASNR=_3Y<GZ,KX>^+GQ.E^%'_!2JVU>+P9X
MI\<--\)%M?[/\(V,=W=1@ZR[>:R/)&!&-FTG.<NHQSP >M?#3]J[4]6^+%C\
M,?B;\-]1^%OC35+::[T>.;48=2L-3CB!,BPW404&15&\H5! ZX. ?3_#/Q$U
M+7OBCXS\)W'@_6-*T[0([.2U\1W<>++53/&7=;=L?,8C\K<G!].,_+GP]\17
MW[;'[4'A/X@6_AZ^\%>$_@]/J=A+8Z])$FK76J7,21O%);(S&!(U1&W,?F.0
M,X8KW_P^\7>)[[]LO]H31(=5N[^STS0M#FTG2;V[D:RMYY+>4L4CSMCWL%W%
M0">] 'TY7C'QT^,^M_#'XD?!OP_I=K87%GXR\02:5J$EY&[211+ T@:(JZ@-
ME1RP88[5\E_!^\L/B9-!I/Q2_:&^*?PV^/#RNM[X=NM8&CVD<XD8(+2U:+[-
M/$0/EVEBP/;C'K7[:WB#3/ASX[_9MUKQ#JWD:3HGB2XNK[4KQ@#Y<5A(SR-@
M#+$*3M49). ,D"@#[!HKY<_9OUKQ9^TUXH@^-NI^(;S1OA\OGVWA+P;I.HE8
MIH@S1O>:GY;;99F*G; V5BQR-^37U'0 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !67XF_Y -[_P!<
M_P"M:E9?B;_D WO_ %S_ *T 7;'_ (\K?_KFO\A4]06/_'E;_P#7-?Y"IZ "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "H+[_ (\KC_KFW\C4]07W_'E<?]<V_D: *7AG_D V7_7/^M:E9?AG
M_D V7_7/^M:E !1110 5\A>./^1U\0?]A"X_]&-7U[7R%XX_Y'7Q!_V$+C_T
M8U?1Y+_$GZ'B9I\$?4Q****^M/G0HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH *DMH&NKB*%" TCA 6Z9)Q4=6]'_ .0O8_\ 7=/_ $(4I:)L:U9U
M=Q\++BVOGLF\0:#]M5O+-L;ME?=_=^9!S7):IIEUHNH3V5[ UO=0MMDC?J#_
M %'OWK=^)O\ R/VN_P#7RU=1XHTW5M2\5>%8[-0=7AT>VFG>X Q&R[B6DW<<
M#&<UY\*TXJ,INZDK]K:7^X[)4XR<E%6L[=SS&K=YI5W86MG<7$)BANT,D#,1
M\ZABI..HY!ZUZ9JDU]JGP_\ $K:KKFG^('M3;/ ;8EFMV,H4D'8N 02.">E5
MOB'XDU>7PYX7M5O9V2_TY6GB4_ZYBW<=S3CB9RDHJ*WL]7VOV%*A&,6V^E_Q
MMW/,:*]H\'PZ]8Z[IFBZKK>E_9@@@ET-B&<IL^ZP5"I;&#RWXUX_J4*V^H74
M48PD<K*H]@2!6M*O[63C;;7^M$9U*/LXJ1JZ_P"#-0\.Z9I>H7/ER6FHPK-%
M)"20NY0P1L@8;!!Q^72J=YH=Q8Z+INIR/&8+]I5B52=P\L@-N&,?Q#&":]*O
M-8M9)-'\.ZL^S2=2T2R E/\ R[3A/DE'XX!]NO K-UKP[)9:?X(T/4EV.NHW
M5O.%/9I8N0?0J00?0BN:&)E[JGN_Q5F_TU_X)O*A'5Q_IW1YM17J9\;ZI_PL
M+^P-D/\ 8?V_[!_97D)Y7E;_ "\8QG..<^M)8W0\'^&/&!L4C>2SU=8;2250
M_E$%U#C/<+G!]ZU^LR25XZNUM>[MV(]A%[2T5^G;YGEM%>B>&?%%\WAWQIK-
MQ(MUJ7^AE9ID5L/O*AL8QD#IQU JW+XVU63X>P:\\L;ZW'J36*:@T*F58C&L
MA .,9SWQTX[TWB)J7+RK=+?K9/MM_5B51@U?FZ7VZ7MW/,**]*\66=[XF_X0
MF[MX5N=<U"W8N^U1YK(V06'3@9SGL*U[>?4M4T?Q+:ZOX@TO78HM-FF6UMSN
M:&1-NUUP@4 =.#W%2\7:*E;UU\[=O\BOJ^K5_P /*_?_ #/.Y?#<-KI?AZ_N
M;WRK?5))%D(B)^SJD@4MP?FX.<8'3%9%]'##>W$=M-]IMTD98IBA7S%!.&P>
MF1SBN_M/^0;\,O\ K^F_]*4I=)FUF3Q_K]KI^J3:58"\GN+ZX1L+'$KMEC[X
MX'N:(UY*[?2_X2:[ Z2=DNMOR3[GG-%>BR:[K/CCQK<:OI,L=E#I\'EI=7I7
M9! ,@,[,#\Q+$]SD^U6_%5Y>R^ ;34KO5[36=1MM758+^UR6B7RBVPDHO\2@
M]^U5]8DG&+CJ_/:_R)]BFFT]%Y;_ (GGMWH\^EWEO!J"-9^:D<N2 Q6-P"&P
M#Z'..M,U:WM+74KB*PNS?6:MB*X,9C+CUVGD5Z3\4->U&3QI8::UY*UABUE^
MSEOEW8'./6IM2D_LKQ%\0M;@B1]1L)(UMI)$#B(R/M9P#QD#H?>LHXF3C&4E
MJUWTU:2Z>?\ PYI*A&\HI[/]&^_D>2T5W\FLW?C7P%KUUK++=WFERV[VUVR!
M7'F.49"0.1CG'M6KXZ\=ZMX9UJP@TN=;2,6-L\JK$I\YM@^^2,D8 &/05K]8
MFY<BCKKUTTL^WGV,_8Q4>=RT]/7S\CRNBNJ^*EC!IOQ UF"VB6&$2*P11@ L
MBL<?B36O?:QX0D^%L%E!:HOB0%=S^0?,W;\LQDQRI7.!GN..*T]O>$)QBWS6
M^5^Y'LO>G%R2Y;_.QQ_AW0[CQ-K5KIEJ\<<]PQ5&F)"C )Y(!/;TK.KK?A-_
MR431/^NK?^@-6IX1UB;0OAKKMW;;5NUOH!%*R!C&Q!!8 C&<9&?>IJ5I0FTE
M?X?Q;14*:E%-NV_X),\^J[H>F_VUK6GZ?YGD_:[B.#S-N[;N8+G&1G&>F:]
M^U2>.?"N@W>LD75W_;ZZ>UQM"NT+(K%21CN?PJ[9^.-5_P"%I1:/A/[(CU+[
M+'IZPKY<:J^U6 QP5P&SZBLI8F?+)1CJKWU[=M-?P-(T(W3;T=NG?YGEVJ6?
M]FZE=VF_S/L\SQ;\8W;6(SCMTJM7K.BK;:38^+=:-X^G7@U4VRWL=J+AX$+%
MCM4D8W'C/TK'\4>-+.2+1;[3]2FOO$-C,Q;4)+00&2,\@, QW8Z?0FJAB)2E
MRJ-_/7>U^UK?/Y$RHQBN9RM_P_K?^MSSZKVI6MC;0V36=\;R22$/<*82GDR9
M.4R?O8&.17IOC*W7POX=N=5TVQ:SOM<VI>C(/V ,@=H1CE=Y.>>W''%&C_\
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
M, HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 5E^)O^0#>_]<_ZUJ5E^)O^0#>_]<_ZT 7;'_CRM_\
MKFO\A4]06/\ QY6__7-?Y"IZ "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH Y_QM&LVF6D3DB.2^MHWPQ7*F501D>U9?B;1_
M!OA/1+O6];$5CIMJBO-=33R;5&X;>^2=Q& .22,<FNLOM/MM3MVM[NWCN8&(
M)CF0,IQTX->%_'+2IM8_9-U"*")YS%9VMQ)''U,<<T;R?DJL?PHK5IT</*I#
M>-_R_P" =F786EC<PH8:L[1G*,6^R;2>_J8Y_:0^&4D,MY;>'/%5[HT3%7UB
MWL93:+CU8R C\17J7@23P#\2M#76_#;QZE9F0JTB2RJ\<@495U8@JV".HZ$=
MC7R+XNU[QUH_QVT6+P]K$FF>$+F2 :%MNO*TF33PH(4Y;RV&T-N!RQ.>^*^A
M?V7M-T^U\)>.[[18Q%X=U#Q'?3Z7L7:C6X5$!0?W,JP'LM>+@\PQ-:O[*<M-
M5V^:UV_X!^@Y_P .9;@<NCC*$;-J+7O<VC=N67NJTEKMVDK:'J7A6UAL=6UZ
MVMMPMXYXMBERP&85)P23W)KI:Y_P)I]K8^%-*:WMXX&GM(9)3&@4NQC7+''4
M^]=!7O5'[S/R^'PH****S+"BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "H+[_CRN/^N;?R-3U!??\ 'E<?]<V_D: *7AG_ ) -E_US_K6I
M67X9_P"0#9?]<_ZUJ4 %%%% !7SCXJ^$GBS4O%&L7=MI7F6]Q>32QO\ :8AN
M5G)!P7R.#WKZ.KC[[X@_8KZXM_L&_P F1H]WG8S@D9QMKT<%7K4)-T4FWW_X
M='%BJ5.JDJCL>&_\*7\9?] ?_P FH?\ XNC_ (4OXR_Z _\ Y-0__%U[7_PL
MK_J'?^1__L:/^%E?]0[_ ,C_ /V->O\ VAC?Y%_7S/.^IX7^9_U\CQ3_ (4O
MXR_Z _\ Y-0__%T?\*7\9?\ 0'_\FH?_ (NO:_\ A97_ %#O_(__ -C1_P +
M*_ZAW_D?_P"QH_M#&_R+^OF'U/"_S/\ KY'BG_"E_&7_ $!__)J'_P"+H_X4
MOXR_Z __ )-0_P#Q=>U_\+*_ZAW_ )'_ /L:/^%E?]0[_P C_P#V-']H8W^1
M?U\P^IX7^9_U\CQ3_A2_C+_H#_\ DU#_ /%T?\*7\9?] ?\ \FH?_BZ]K_X6
M5_U#O_(__P!C1_PLK_J'?^1__L:/[0QO\B_KYA]3PO\ ,_Z^1XI_PI?QE_T!
M_P#R:A_^+H_X4OXR_P"@/_Y-0_\ Q=>U_P#"RO\ J'?^1_\ [&C_ (65_P!0
M[_R/_P#8T?VAC?Y%_7S#ZGA?YG_7R/%/^%+^,O\ H#_^34/_ ,71_P *7\9?
M] ?_ ,FH?_BZ]K_X65_U#O\ R/\ _8T?\+*_ZAW_ )'_ /L:/[0QO\B_KYA]
M3PO\S_KY'BG_  I?QE_T!_\ R:A_^+H_X4OXR_Z _P#Y-0__ !=>U_\ "RO^
MH=_Y'_\ L:/^%E?]0[_R/_\ 8T?VAC?Y%_7S#ZGA?YG_ %\CQ3_A2_C+_H#_
M /DU#_\ %T?\*7\9?] ?_P FH?\ XNO:_P#A97_4._\ (_\ ]C1_PLK_ *AW
M_D?_ .QH_M#&_P B_KYA]3PO\S_KY'BG_"E_&7_0'_\ )J'_ .+H_P"%+^,O
M^@/_ .34/_Q=>U_\+*_ZAW_D?_[&C_A97_4._P#(_P#]C1_:&-_D7]?,/J>%
M_F?]?(\4_P"%+^,O^@/_ .34/_Q='_"E_&7_ $!__)J'_P"+KVO_ (65_P!0
M[_R/_P#8T?\ "RO^H=_Y'_\ L:/[0QO\B_KYA]3PO\S_ *^1XI_PI?QE_P!
M?_R:A_\ BZ/^%+^,O^@/_P"34/\ \77M?_"RO^H=_P"1_P#[&C_A97_4._\
M(_\ ]C1_:&-_D7]?,/J>%_F?]?(\4_X4OXR_Z __ )-0_P#Q='_"E_&7_0'_
M /)J'_XNO:_^%E?]0[_R/_\ 8T?\+*_ZAW_D?_[&C^T,;_(OZ^8?4\+_ #/^
MOD>*?\*7\9?] ?\ \FH?_BZ/^%+^,O\ H#_^34/_ ,77M?\ PLK_ *AW_D?_
M .QH_P"%E?\ 4._\C_\ V-']H8W^1?U\P^IX7^9_U\CQ3_A2_C+_ * __DU#
M_P#%T?\ "E_&7_0'_P#)J'_XNO:_^%E?]0[_ ,C_ /V-'_"RO^H=_P"1_P#[
M&C^T,;_(OZ^8?4\+_,_Z^1XI_P *7\9?] ?_ ,FH?_BZ/^%+^,O^@/\ ^34/
M_P 77M?_  LK_J'?^1__ +&C_A97_4._\C__ &-']H8W^1?U\P^IX7^9_P!?
M(\4_X4OXR_Z _P#Y-0__ !='_"E_&7_0'_\ )J'_ .+KVO\ X65_U#O_ "/_
M /8T?\+*_P"H=_Y'_P#L:/[0QO\ (OZ^8?4\+_,_Z^1XI_PI?QE_T!__ ":A
M_P#BZ/\ A2_C+_H#_P#DU#_\77M?_"RO^H=_Y'_^QH_X65_U#O\ R/\ _8T?
MVAC?Y%_7S#ZGA?YG_7R/%/\ A2_C+_H#_P#DU#_\71_PI?QE_P! ?_R:A_\
MBZ]K_P"%E?\ 4._\C_\ V-'_  LK_J'?^1__ +&C^T,;_(OZ^8?4\+_,_P"O
MD>*?\*7\9?\ 0'_\FH?_ (NC_A2_C+_H#_\ DU#_ /%U[7_PLK_J'?\ D?\
M^QH_X65_U#O_ "/_ /8T?VAC?Y%_7S#ZGA?YG_7R/%/^%+^,O^@/_P"34/\
M\71_PI?QE_T!_P#R:A_^+KVO_A97_4._\C__ &-'_"RO^H=_Y'_^QH_M#&_R
M+^OF'U/"_P S_KY'BG_"E_&7_0'_ /)J'_XNC_A2_C+_ * __DU#_P#%U[7_
M ,+*_P"H=_Y'_P#L:/\ A97_ %#O_(__ -C1_:&-_D7]?,/J>%_F?]?(\4_X
M4OXR_P"@/_Y-0_\ Q='_  I?QE_T!_\ R:A_^+KVO_A97_4._P#(_P#]C1_P
MLK_J'?\ D?\ ^QH_M#&_R+^OF'U/"_S/^OD>*?\ "E_&7_0'_P#)J'_XNC_A
M2_C+_H#_ /DU#_\ %U[7_P +*_ZAW_D?_P"QH_X65_U#O_(__P!C1_:&-_D7
M]?,/J>%_F?\ 7R/%/^%+^,O^@/\ ^34/_P 71_PI?QE_T!__ ":A_P#BZ]K_
M .%E?]0[_P C_P#V-'_"RO\ J'?^1_\ [&C^T,;_ "+^OF'U/"_S/^OD>*?\
M*7\9?] ?_P FH?\ XNC_ (4OXR_Z _\ Y-0__%U[7_PLK_J'?^1__L:/^%E?
M]0[_ ,C_ /V-']H8W^1?U\P^IX7^9_U\CQ3_ (4OXR_Z _\ Y-0__%T?\*7\
M9?\ 0'_\FH?_ (NO:_\ A97_ %#O_(__ -C1_P +*_ZAW_D?_P"QH_M#&_R+
M^OF'U/"_S/\ KY'BG_"E_&7_ $!__)J'_P"+H_X4OXR_Z __ )-0_P#Q=>U_
M\+*_ZAW_ )'_ /L:/^%E?]0[_P C_P#V-']H8W^1?U\P^IX7^9_U\CQ3_A2_
MC+_H#_\ DU#_ /%T?\*7\9?] ?\ \FH?_BZ]K_X65_U#O_(__P!C1_PLK_J'
M?^1__L:/[0QO\B_KYA]3PO\ ,_Z^1XI_PI?QE_T!_P#R:A_^+H_X4OXR_P"@
M/_Y-0_\ Q=>U_P#"RO\ J'?^1_\ [&C_ (65_P!0[_R/_P#8T?VAC?Y%_7S#
MZGA?YG_7R/%/^%+^,O\ H#_^34/_ ,71_P *7\9?] ?_ ,FH?_BZ]K_X65_U
M#O\ R/\ _8T?\+*_ZAW_ )'_ /L:/[0QO\B_KYA]3PO\S_KY'BG_  I?QE_T
M!_\ R:A_^+H_X4OXR_Z _P#Y-0__ !=>U_\ "RO^H=_Y'_\ L:/^%E?]0[_R
M/_\ 8T?VAC?Y%_7S#ZGA?YG_ %\CQ3_A2_C+_H#_ /DU#_\ %T?\*7\9?] ?
M_P FH?\ XNO:_P#A97_4._\ (_\ ]C1_PLK_ *AW_D?_ .QH_M#&_P B_KYA
M]3PO\S_KY'BG_"E_&7_0'_\ )J'_ .+H_P"%+^,O^@/_ .34/_Q=>U_\+*_Z
MAW_D?_[&C_A97_4._P#(_P#]C1_:&-_D7]?,/J>%_F?]?(\4_P"%+^,O^@/_
M .34/_Q='_"E_&7_ $!__)J'_P"+KVO_ (65_P!0[_R/_P#8T?\ "RO^H=_Y
M'_\ L:/[0QO\B_KYA]3PO\S_ *^1XI_PI?QE_P! ?_R:A_\ BZ/^%+^,O^@/
M_P"34/\ \77M?_"RO^H=_P"1_P#[&C_A97_4._\ (_\ ]C1_:&-_D7]?,/J>
M%_F?]?(\4_X4OXR_Z __ )-0_P#Q='_"E_&7_0'_ /)J'_XNO:_^%E?]0[_R
M/_\ 8T?\+*_ZAW_D?_[&C^T,;_(OZ^8?4\+_ #/^OD>*?\*7\9?] ?\ \FH?
M_BZ/^%+^,O\ H#_^34/_ ,77M?\ PLK_ *AW_D?_ .QH_P"%E?\ 4._\C_\
MV-']H8W^1?U\P^IX7^9_U\CQ3_A2_C+_ * __DU#_P#%T?\ "E_&7_0'_P#)
MJ'_XNO:_^%E?]0[_ ,C_ /V-'_"RO^H=_P"1_P#[&C^T,;_(OZ^8?4\+_,_Z
M^1XI_P *7\9?] ?_ ,FH?_BZ/^%+^,O^@/\ ^34/_P 77M?_  LK_J'?^1__
M +&C_A97_4._\C__ &-']H8W^1?U\P^IX7^9_P!?(\4_X4OXR_Z _P#Y-0__
M !='_"E_&7_0'_\ )J'_ .+KVO\ X65_U#O_ "/_ /8T?\+*_P"H=_Y'_P#L
M:/[0QO\ (OZ^8?4\+_,_Z^1XI_PI?QE_T!__ ":A_P#BZ/\ A2_C+_H#_P#D
MU#_\77M?_"RO^H=_Y'_^QH_X65_U#O\ R/\ _8T?VAC?Y%_7S#ZGA?YG_7R/
M%/\ A2_C+_H#_P#DU#_\71_PI?QE_P! ?_R:A_\ BZ]K_P"%E?\ 4._\C_\
MV-'_  LK_J'?^1__ +&C^T,;_(OZ^8?4\+_,_P"OD>*?\*7\9?\ 0'_\FH?_
M (NC_A2_C+_H#_\ DU#_ /%U[7_PLK_J'?\ D?\ ^QH_X65_U#O_ "/_ /8T
M?VAC?Y%_7S#ZGA?YG_7R/%/^%+^,O^@/_P"34/\ \71_PI?QE_T!_P#R:A_^
M+KVO_A97_4._\C__ &-'_"RO^H=_Y'_^QH_M#&_R+^OF'U/"_P S_KY'BG_"
ME_&7_0'_ /)J'_XNC_A2_C+_ * __DU#_P#%U[7_ ,+*_P"H=_Y'_P#L:/\
MA97_ %#O_(__ -C1_:&-_D7]?,/J>%_F?]?(\4_X4OXR_P"@/_Y-0_\ Q='_
M  I?QE_T!_\ R:A_^+KVO_A97_4._P#(_P#]C1_PLK_J'?\ D?\ ^QH_M#&_
MR+^OF'U/"_S/^OD>*?\ "E_&7_0'_P#)J'_XNC_A2_C+_H#_ /DU#_\ %U[7
M_P +*_ZAW_D?_P"QH_X65_U#O_(__P!C1_:&-_D7]?,/J>%_F?\ 7R/%/^%+
M^,O^@/\ ^34/_P 71_PI?QE_T!__ ":A_P#BZ]K_ .%E?]0[_P C_P#V-'_"
MRO\ J'?^1_\ [&C^T,;_ "+^OF'U/"_S/^OD>*?\*7\9?] ?_P FH?\ XNC_
M (4OXR_Z _\ Y-0__%U[7_PLK_J'?^1__L:/^%E?]0[_ ,C_ /V-']H8W^1?
MU\P^IX7^9_U\CQ3_ (4OXR_Z _\ Y-0__%T?\*7\9?\ 0'_\FH?_ (NO:_\
MA97_ %#O_(__ -C1_P +*_ZAW_D?_P"QH_M#&_R+^OF'U/"_S/\ KY'BG_"E
M_&7_ $!__)J'_P"+H_X4OXR_Z __ )-0_P#Q=>U_\+*_ZAW_ )'_ /L:/^%E
M?]0[_P C_P#V-']H8W^1?U\P^IX7^9_U\CQ3_A2_C+_H#_\ DU#_ /%T?\*7
M\9?] ?\ \FH?_BZ]K_X65_U#O_(__P!C1_PLK_J'?^1__L:/[0QO\B_KYA]3
MPO\ ,_Z^1XI_PI?QE_T!_P#R:A_^+H_X4OXR_P"@/_Y-0_\ Q=>U_P#"RO\
MJ'?^1_\ [&C_ (65_P!0[_R/_P#8T?VAC?Y%_7S#ZGA?YG_7R/%/^%+^,O\
MH#_^34/_ ,71_P *7\9?] ?_ ,FH?_BZ]K_X65_U#O\ R/\ _8T?\+*_ZAW_
M )'_ /L:/[0QO\B_KYA]3PO\S_KY'BG_  I?QE_T!_\ R:A_^+H_X4OXR_Z
M_P#Y-0__ !=>U_\ "RO^H=_Y'_\ L:/^%E?]0[_R/_\ 8T?VAC?Y%_7S#ZGA
M?YG_ %\CQ3_A2_C+_H#_ /DU#_\ %T?\*7\9?] ?_P FH?\ XNO:_P#A97_4
M._\ (_\ ]C1_PLK_ *AW_D?_ .QH_M#&_P B_KYA]3PO\S_KY'BG_"E_&7_0
M'_\ )J'_ .+H_P"%+^,O^@/_ .34/_Q=>U_\+*_ZAW_D?_[&C_A97_4._P#(
M_P#]C1_:&-_D7]?,/J>%_F?]?(\4_P"%+^,O^@/_ .34/_Q='_"E_&7_ $!_
M_)J'_P"+KVO_ (65_P!0[_R/_P#8T?\ "RO^H=_Y'_\ L:/[0QO\B_KYA]3P
MO\S_ *^1XI_PI?QE_P! ?_R:A_\ BZ/^%+^,O^@/_P"34/\ \77M?_"RO^H=
M_P"1_P#[&C_A97_4._\ (_\ ]C1_:&-_D7]?,/J>%_F?]?(\4_X4OXR_Z __
M )-0_P#Q='_"E_&7_0'_ /)J'_XNO:_^%E?]0[_R/_\ 8T?\+*_ZAW_D?_[&
MC^T,;_(OZ^8?4\+_ #/^OD>*?\*7\9?] ?\ \FH?_BZ/^%+^,O\ H#_^34/_
M ,77M?\ PLK_ *AW_D?_ .QH_P"%E?\ 4._\C_\ V-']H8W^1?U\P^IX7^9_
MU\CQ3_A2_C+_ * __DU#_P#%T?\ "E_&7_0'_P#)J'_XNO:_^%E?]0[_ ,C_
M /V-'_"RO^H=_P"1_P#[&C^T,;_(OZ^8?4\+_,_Z^1XI_P *7\9?] ?_ ,FH
M?_BZ/^%+^,O^@/\ ^34/_P 77M?_  LK_J'?^1__ +&C_A97_4._\C__ &-'
M]H8W^1?U\P^IX7^9_P!?(\4_X4OXR_Z _P#Y-0__ !='_"E_&7_0'_\ )J'_
M .+KVO\ X65_U#O_ "/_ /8T?\+*_P"H=_Y'_P#L:/[0QO\ (OZ^8?4\+_,_
MZ^1XI_PI?QE_T!__ ":A_P#BZ/\ A2_C+_H#_P#DU#_\77M?_"RO^H=_Y'_^
MQH_X65_U#O\ R/\ _8T?VAC?Y%_7S#ZGA?YG_7R/%/\ A2_C+_H#_P#DU#_\
M71_PI?QE_P! ?_R:A_\ BZ]K_P"%E?\ 4._\C_\ V-'_  LK_J'?^1__ +&C
M^T,;_(OZ^8?4\+_,_P"OD>*?\*7\9?\ 0'_\FH?_ (NC_A2_C+_H#_\ DU#_
M /%U[7_PLK_J'?\ D?\ ^QH_X65_U#O_ "/_ /8T?VAC?Y%_7S#ZGA?YG_7R
M/%/^%+^,O^@/_P"34/\ \71_PI?QE_T!_P#R:A_^+KVO_A97_4._\C__ &-'
M_"RO^H=_Y'_^QH_M#&_R+^OF'U/"_P S_KY'BG_"E_&7_0'_ /)J'_XNC_A2
M_C+_ * __DU#_P#%U[7_ ,+*_P"H=_Y'_P#L:/\ A97_ %#O_(__ -C1_:&-
M_D7]?,/J>%_F?]?(\4_X4OXR_P"@/_Y-0_\ Q='_  I?QE_T!_\ R:A_^+KV
MO_A97_4._P#(_P#]C1_PLK_J'?\ D?\ ^QH_M#&_R+^OF'U/"_S/^OD>*?\
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
M:!_PD:QKXA_L^W_M)8B"@N?+7S0I'&-^[IQ6U0 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !67XF_Y -[_ -<_ZUJ5E^)O^0#>_P#7/^M %VQ_
MX\K?_KFO\A4]06/_ !Y6_P#US7^0J>@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "N9\-F+33<>&[L*6B+M;K)R+BW8DCK
MU*Y*D>P/>NFJEJFCVFLP+%=1[PC;T=6*O&W]Y6'(/TJXM6:>S)=[J2W1XQ_P
MS#_9_B2Y&A^,-5T7P5?;WO?#,)#Q%VZB)FR(@<\D+N&.&'&WTO5(;/PYX?MO
M#>BP16CRQ?8[.UA7 A3&TO@?PJ,G/<^YJC<:=XB@EO(K?5KXVL=W!%$'BB=V
MA;9YC;RF3MW/R?[M=-I>@VFD,[PB22XD $EQ/(9)7QTRQ[>PXK.EAJ.&?-#K
M_7R7DCT<9FF,S*,88F=[>BOTN[?$^G-*[MU+5A9II]C;VL?^K@C6)?HH '\J
MGHHIG %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M4%]_QY7'_7-OY&IZ@OO^/*X_ZYM_(T 4O#/_ " ;+_KG_6M2LOPS_P @&R_Z
MY_UK4H **** "O']<_Y#>H?]?$G_ *$:]@KQ_7/^0WJ'_7Q)_P"A&O1P7Q,X
ML5LBC1117KGGA1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !6YX+_Y&
M:S_X'_Z U8=;G@O_ )&:S_X'_P"@-657^'+T9=/XUZGJ5%%%?.'M!67XF_Y
M-[_US_K6I67XF_Y -[_US_K0!=L?^/*W_P"N:_R%3U!8_P#'E;_]<U_D*GH
M**** "BBB@ HHHH **** "O%_P!H#]EW0OCM?:#K\>KZGX,\>>'G+:/XLT)P
MEW;!L[HF!&)(FR<H?4X(#,#[110!\]>"?@;\;])\3Z-=^*OVC;GQ/H5A.DTV
MDVO@^QT][Y5;(26=69L$8!V!<BM+XM_LT7?B_P"(UM\2/ ?CB^^&GQ!CL?[+
MN=3MK**_M-0M VY8[FUE(5RK?=<,K#.,G"[?<Z* /!_A3^S'?>&?B8_Q*^(7
MCV^^)OCV.R;3;&]GL8M/LM-MV.76VM8R51WZ,Y8DCCC)STOPO^!W_"MOBM\5
MO&G]M?VC_P )U>V5Y]A^R>5]A^SV_D[=^]O,W?>SM7'3!ZUZG10!Y9X-^!W_
M  B7[0'Q$^)O]M?:_P#A+K+3;/\ LO[)L^R?9(V3=YN\[]^[.-JXQU-&G_ [
M[!^TQJ_Q<_MKS/[0\,P^'?['^R8\OR[@S>=YV_G.=NW8,==W:O4Z* /SZ_9B
M^$7C7Q9XG_:$\1_#WXHWOPYU8_%;7]-OK>;28-7L+N..5)(Y/(E*F.4>>ZET
M<9 4$'%?4/[/7[-]I\#9O$^MZAXCU#QOX[\57$=UKOB?4XTBENFC4K&B1I\L
M42 G:@)QG&<  =SX!^%OACX7_P#"1_\ ",:9_9G_  D6M7/B'5/](EE^T7]Q
MM\Z;]XS;=VQ?E7"C' %=70!\\>'OV2?[!_9K\?\ PE_X2OS_ /A*YM6E_MC^
MSMOV7[:[-CR?-._9NQ]]=V/X:=\1/V39O%OA?X3G0?&]WX1\>?#6V%MHGBBW
ML4N$PUM';W"RVKMM=)4C7*[LCIDC.?H6B@#Y6U#]B_Q-XT\<?#_QKX]^,.H^
M+O$_@_7(-4M<:-#9:>+= 3)!';1/\CR,(R9F>0CRP N#7JVG_ [[!^TQJ_Q<
M_MKS/[0\,P^'?['^R8\OR[@S>=YV_G.=NW8,==W:O4Z* /+/&7P._P"$M_:
M^'?Q-_MK[)_PB-EJ5G_9?V3?]K^UQJF[S=XV;-N<;6SGJ*XKQU^RIK3?%;6O
MB-\*_B5>?"_Q+X@BABUR Z5#JFG:B8EVQRM;R,FV4+QO5AG'3EMWT110!XZG
M[/LWC;X(ZU\//B[XJG^*']M,YO-3EL(=.*_=,8ABARL?EL@=3ECNY)-<#I?[
M,OQLT2Q@T*S_ &G=8'A>WQ%"EQX5LIM56 # 0WSL=S8_C,9:OJ"B@"&TA-K:
MPPM*\S1HJ&20Y9\#&3[FIJ** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH *R_$W_(!O?\ KG_6M2LOQ-_R ;W_ *Y_UH NV/\ QY6__7-?Y"IZ
M@L?^/*W_ .N:_P A4] !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%?,_C3QQXN\;?M*ZW\-++XE#X46NFZ/97^EK;6%G<
M7VOR3F82NANTD3RX2D:E(TW$L26 Q7K&I>)=<^%?@;2AJEEKWQ.UTR&V>3P_
MIL$4]PV'<.Z-(D42A5"EBZKG'=@* /0**\P\&_'[2O&_@WQ'K=EX=\20ZEX=
MO6T[4_#$]BO]JV]R%C<1^6CLC;DEC<,KE"K9W<'&';_M*?VK9^-].@\#^)=#
M\<^']!EUZU\,^(((4FU*(+((S"]O-,C*TJ",_-N!89'(H ]KHKYN_9QN/&OQ
M2\->%/B!_P +U3Q387\,=UJ>@6&BV L87= SVL;*@N(FC8E?WDC-QR :^D:
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ J"^_X\
MKC_KFW\C4]07W_'E<?\ 7-OY&@"EX9_Y -E_US_K6I67X9_Y -E_US_K6I0
M4444 %>/ZY_R&]0_Z^)/_0C7L%>/ZY_R&]0_Z^)/_0C7HX+XF<6*V11HHHKU
MSSPHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **_-3]L3XH_$
MCQ]\;_B%8?#GQAKN@Z+\-_#T=U?QZ-J$UM%<2B6,SEO+8 NJS,.>UNP]Z^KY
M_C!-\2OV(M=^(.E7DECJ=SX+O[O[19RF.2VO([642%&7!5DE1L$8(*@\5A&L
MI-KL:NFTD^Y[Y17Y6_#;PG\8_%?[+^J?&K3_ (]^+K:_T7[7<-HU_J%Q-!-'
M;_>&]YB-Q7. R,"<#C.:[WXO?M)>-_&W_!/7PKXZBUK4/#WBN37(]/N]2T>X
MDLWN/+,Z%@8RN X52P'R[@>.,#-8A6NUTN7[%WLGY'Z*T5R7PAOKC4OA/X*O
M+RXEN[NXT2REFN)W+R2.T"%F9CR22223US7R-^VI\2/&)_:,\ ?#:/XA77PG
M\"ZO8&ZN/$EG(86:<&;*M*&0@#RXD"[@ 9<MG@#:511CS&48\SL?<U%?&_\
MP3O^)7C;QNOQ(TK7/$MYXX\)Z#J:VFB>)K\-YUV-TH;YV)9@46%\,25\S&3G
MC[(JH3]I%20I1Y78**^)_@'\0/%&L?\ !1#XO^&[_P 2:O?>';'2[B2TTBYO
MY9+2W83V0#1PEBBD!W&0!]X^IKM-7_X*-?"G1)O$=G<P>(3J^BZG)I;:5#91
MR7-T\9</)"!*5,8\L_,[*>1Q6:K1M=Z%.G*]EJ?4E%>#> _VU?AQ\1OA=XB\
M<:.^KR6GA_R_[1TG["7U"(R-MBQ%&6#!SD!@Q48;) 4D>,?LE_M\W_Q.O'T;
MQ=X>\0ZEJNK^(GM].U#2-+B.FV%JZQ^5%-*'4@H2Y+;6.UE.33]M"Z5]P]G*
MS=MC[@HKYV^*G[=GPY^%OC2^\*_9?$'BS6]/!.H0>&;!;H6>,;A(S2(.,C.T
MG:>#@\5V/A[]J;X:^)?@]??$VU\11Q^$]/REY-/&R2V\HVCR6CQN\PED 49W
M;EQD$57M(-M7%R2M>QZQ17R-J7_!2[P#I:Z7)/X$^(RVVK'_ (EERVBPI'J
MR # 6N!Y@)(Z#N*]!\6_MF^!?A[XB\):/XML==\+3^(M';65DU6TCB6PC5)&
M,5ROF%TES$5V*K?,RC//"]K#N/V<NQ[Q17A'@7]LWP!X^^%_C#X@V,&M6WAC
MPO<?9[NXN;(%YCA3NBCC=F*_.O+!<9R< $CEO!W_  42^%_BOQ;I>@75AXG\
M+R:K(L5A?:]IJ06UR6;:I5UD<@$D?,0!SR11[6&FNXO9R['U!17QQ^UU^VM>
M?!?XL>"?!_AZTU&5H]4MY?$/EZ;YC75HQB8VUH9,"21DD/*D8;:NX'<!E_M4
M?&CX;_&;]E[3M>\8:;\1/"_AN3Q1'9):VEG;0:B]PEO,ZEXY)2AA*[C][.]5
M..*F5:*NENBE3EHWU/MNBO%_B9^TU\/OV>?AWX:U3Q-J5Z(]0M(_[.L503W]
MT@C4[BH(&0"NYB0N3C/(K,^!O[;'PW^/7B1_#FD2:IH?B,*SQZ3KUJMO-,JC
M+;-KNI('.W=NQDXP#5^TA?EOJ3R2M>VA[W17S1XH_P""@WPN\'>)/&&@:G%K
ML6L^&[X:>UE'9QR2:A+EPWV8+(=RKY?)?9C<O<XKKO@-^UU\/OVAM-UJZ\/7
M-YIT^C1B:_LM9A6":&([OWAVLRE?E.2&..,XR,BJ0;LGJ#A)*[1[317R=<?\
M%+_A/'=S-!IGBZ]T.&;R'\0V^D V ;W9I X['!3/(XKZLL[E;RUAN$5T29%D
M59$*L 1G!!Y!]C3C.,_A=Q2C*.Z):***LD**** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH *W/!?_ ",UG_P/_P! :L.MSP7_ ,C-9_\  _\ T!JRJ_PY
M>C+I_&O4]2HHHKYP]H*R_$W_ " ;W_KG_6M2LOQ-_P @&]_ZY_UH NV/_'E;
M_P#7-?Y"IZ@L?^/*W_ZYK_(5/0 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %9?B;_D WO\ US_K6I67XF_Y -[_ -<_ZT 7
M;'_CRM_^N:_R%3U!8_\ 'E;_ /7-?Y"IZ "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBL_7O$6E>%=)GU36]3L]'TRW&Z:\O[A((8QZ
ML[D #ZF@#0HKE_!/Q4\%_$R.XD\'^+]!\5I;D"9M$U."\$6>FXQ,V/QKJ* /
M OV@?$W@#7[JY\(>/_A+XK\<VL*"6VN+'PA<:I;LSJIS!<0JWDR#."Q:,@J>
M<8->,Z58_%3P;X2^%^D>.T^(4/@5[?5VOX?"9N+_ %NV9KH-I=K>3VN^X"I:
MLRL\3??0!WQR?N.B@#X*T'0/B+X'\+_$R[\-^'O'GA[1M6^(>G7=XTAGU+Q
M^@'3[=9IK=YFFEEE+*JD!GDC'F* '3 [+X3:5<:#^T5KOCO2?"'Q(F\*1^ I
MH8KCQ5+?W5_?W4=XLS0PQ7LI>$LI 2)O*#,'(4 ;C]AT4 ?&VL6.E_$;XR>!
MO$?PM^&'B[P3XSCU^WN?$?B2_P##USH%M+I89C=PW1E5%O'D7Y4 61@Q5MR@
M<_9-%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 5!??\>5Q_US;^1J>H+[_CRN/^N;?R- %+PS_P @&R_ZY_UK4K+\,_\ (!LO
M^N?]:U* "BBB@ KQ_7/^0WJ'_7Q)_P"A&O8*\?US_D-ZA_U\2?\ H1KT<%\3
M.+%;(HT445ZYYX4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5@?$#Q
ME9?#OP-K_B?43BRT>QFOI?5EC0MM'N<8'N:WZY[X@?#_ $+XI>$=0\+^)K-]
M0T/4 JW-JEQ+ 9 KJX&^)E8#<HR >>AR"12=[:#5KZGY;_LT6/[1.J>%?'OB
MKP1\-]"\7Z7\0Y9X]4U+6;B.-I?FF$JQJUW$0I::3)VG)'4[:[;]E/QEJ&A_
MLP_M(_"'Q%&UGKWA?1M8N%M)'5C&K6LL4\8*D@A)4SD9!,O!.:_13P%X"T'X
M8>$=.\,>&-/72M"T]&2VM$D>0(&8NWS.2Q)9F))).37%W/[+_P ,KOQAXI\4
M2>&O^)YXHL;C3=8N4O[I!=V\Z!)4*"4(NY5'*@$$9!!YKBCAY1M9_P!,Z764
MKW1\%?LF_L?Z_P#M"? 6QN;SXMZWH?@N:_N(YO"EE QA=E<9?<9@A).#\T9Q
M7KW_  4"^&^A_"/]BG0?"/ARV-KH^F:U:10JY!=R4G9G<@#+,Q+$XY)-?7WP
MQ^%?A;X-^%8O#7@_2_[(T6.5YDM?M$L^'<Y8[I69N3[U'\5/A#X2^-GAA?#W
MC32?[9T=;A+H6WVF:#]XH8*VZ)U;@,W&<<U:H)4W%;V)=:\[O89\$_\ DC/@
M+_L 6'_I/'7YX?M R:?^T)^V=XJ\"?%3QV/ 7A+P]8S)H374D<-NEP8H2A8R
M87]YN,A)(+! @(X-?IKHFCV?AW1;#2=.A^SZ?8V\=K;P[F;9&BA47+$DX  R
M237 ?%;]FGX9?&^ZAN_&OA&SUF]A01I>"26WGV Y"F2)D8J"3P3CD^M74IN<
M5%="8349-L_,VP^/7Q&70_#G[.'A?Q#I&DWMGKT5E:^-/">JK;0W5NV0H,L)
M4,"7#EPP=RH5@7SG];_#^DG0=!TW3#=W.H&RMHK8W=Y*TLT^Q N^1V)+.V,D
MDDDDFO&9OV&?@5-X=CT4_#K3ELXY5F62.:=+K<!@9N%D$I'/W2^,\XS7M6CZ
M5!H>E6FG6IF-M:Q+#%]HN))Y-JC W22,SN<?Q,23W-*C3G"_,[A4G&5N4^$_
MV<?^4FWQL_[!%U_Z46%5?^"?.E6=Q^T]^T+J$EM&]];:G+##.RY:-)+RX+@'
MMDQIG_=%?8GAOX$^!O"/Q.UOXA:3H?V3QAK4+07^I?:YW\Y&:-F'ELYC7)BC
M.54'Y?<Y/AY\"/ WPI\1^(]>\+:'_9>K>(IO/U2X^USS?:'WN^=LCLJ_-(YP
MH Y]A4QHR33?1MC=1-->2/C/]C.W6S_:@_:CL;5/)MDO+]([>(80!;VX"@*/
M0' ^M:O_  2K\?\ AG1?@KK6@ZAXATNPUNY\4R-!IUU>1Q3S"2VM4CV(Q!;<
MR.HP#DJ17UOX'^!/@;X;^,_$OBSPYH?]G>(/$DSSZK>?:YY?M#O(TK'8[LJ9
M=F.$ '..G%<QH_['GP=\/_$"'QKIO@>TLO$<-S]LBN8;FX6..;.=ZP^9Y2G/
M/"4HTIQY6NE_Q'*I&5T^MCX&_9CL?'=G\9OBWHFG_%_3/A1XM;4W:^BU?2;:
MZ?4BLTVYD><<;2Q8@?>$@;D#CMM<_9ST7P9^RI\<VF^+>B>*[>XOK/4I+[2;
M4""VOHY"3"ZPNZYE,T:@*!L)!(QP/M'XI?LJ_"CXSZL-4\8>#+/5-3P%:]BE
MEM9I !@!WA=&? X&XGC%?/\ ^V/\*W^"_P"SG;>'_A-X9N-*\(WFK)_PE$&@
MQM-=R69C(8EGW,0=J@N3D84$[2:R=%TXN^J5^_7R-%4YI*VFQXYI</B_]K3P
M]\$_"6MCP?X+\.^&TM9/[4C\3V=S>7ZK$B*(K6-R\4A1,&-QPQYQC;79_MKZ
M!I_BG]NCX$Z3JUI'?:;=I:1W%K,-R2I]MDRK#NIZ$=Q7C?Q8\-_LX?$'P*-
M^ W@GQ+K/Q)NI;>.V:U2^D$'SJ9#<":0H 4#C*C )SD*#7Z#>'/V;_#>K6?P
MQ\0>.=+_ +9^(?A'2+&T35OMUP-MQ"BEVVJX23,F]LNISGFE"+J)QWVU_I#E
M)1:>VYQO[;GQSOOV8/@S9W_A/1=--]JFH)IL?VBW!MX%,3N6,:X#'$>T \<Y
M.<8/Q!^VYJWB^X\%^ +WQ7\:-%^(.I7;F_@T?1--MH!IH:-3YBSQ'>RDD ;@
MN<9'3C]4_'_P[\-_%+PO=>'?%>D6^MZ-<D&2UN <;@<AE8$,K#LRD$>M>7)^
MP_\  Z/PC-X97X?V:Z3-<I=R 75SY[2('"$W'F>;@"1QMWX^8\5M6I3J72>A
ME3J1C:ZU/ OV_M3M-!_:6_9IU34;B.RTZSUM;BXNIVVQQ1I>6;.S,> %49)[
M"IO^"HGBK1?%W[,V@7FA:Q8:U:1^+[>%[C3KE+B-9!9W9*%D) 8 @XZ\BOK+
MXK_!'P/\<-'MM,\<>'K?7K2UD,L'F22121,0 2DD;*ZYP,@'!P,]*Y:\_9#^
M$=_\-;3X?S>$(SX1M=0_M2+3TO[I,77EM'YID642,=KL,%B.>G ISI3ESI;,
M(U(KEOT/COXY75EX3_; _9U\1>-)(X?!0\/6"Q7-WC[-#*GFY+9X&R22!V8]
M 5).!QK?M ^)-$^(W_!0/X)GX?:A9:SJUG):G5;W2IEFC\A)VD=&="066 2Y
M]G4&OMSQO\&?!7Q(\(VOACQ/X=M-:T2U14M[>Y#%H=JA5*2 [U.!C<&!([UC
M_"C]FOX9_ ^XGN?!7A*ST6\G0QO>;Y+BX*$@E!+*SN%) ^4'' ]*3HRO:^C=
MP]HK7Z['R5^RCI-G>?\ !1#XZWL]O'+=69OC;R.,F(M=QJQ7T)7(SUP2.YK/
M^"MGH\/_  4!_:)L-3\NS\.3>'M2?4%!\N+RVFM#*[8Z</(2>OS$]Z^T_"/P
M)\#>!?B!X@\;Z'H?V'Q1K^_^TK[[7/)Y^YP[?NW<HN6 /RJ*K:=^SO\ #S2_
M'GB;QG;^'$'B/Q):2V&K7<EU/(MU!(4,B&)G,8!\M/NJ#Q[G(J,DEY.X>T5W
MZ'Y]:])XK_87T9==^&'Q5\,_$/X8:G?C.@W5Q#.[LXZE%8[OE0*9(F4G )0
M<?IKX1U[_A*O">BZU]G>T_M*R@O/L\GWHO,C5]I]QNQ^%>-Z3^PC\!]%UR/5
MK;X=V+7<;[U6XNKF>#/_ %QDE:,CVVXKWI5"J !@#@ 5I2IRA>^W8FI-2M;<
M****Z#$**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *W/!?_(S6?_ _
M_0&K#K<\%_\ (S6?_ __ $!JRJ_PY>C+I_&O4]2HHHKYP]H*R_$W_(!O?^N?
M]:U*R_$W_(!O?^N?]: +MC_QY6__ %S7^0J>H+'_ (\K?_KFO\A4] !1110
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
M2KC1K6TCMWO'\F.:S>%5=0DS)E9FE)0GY@1DGP7UOXG_ !8\>>.[R_\ &_\
M8WA7PGXUOM(M=-LM-M7FU*")T;RYY70[(PCB-?+"R$AF9SP*W;/]GOQ;X@UO
MPK)\0_B5_P )GH7A>_BU33]-@T..PDN;N$$037LPE?SFC8[P(UB4N Q!P!7<
M?"7X5_\ "K?^$S_XF?\ :?\ PD?B6]\0_P#'OY7V?[1L_<_>;?MV?>XSGH*
M.^HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ J"^_X\KC_K
MFW\C4]07W_'E<?\ 7-OY&@"EX9_Y -E_US_K6I67X9_Y -E_US_K6I0 4444
M %>/ZY_R&]0_Z^)/_0C7L%>/ZY_R&]0_Z^)/_0C7HX+XF<6*V11HHHKUSSPH
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ K<\%_\C-9_P# _P#T!JPZ
MW/!?_(S6?_ __0&K*K_#EZ,NG\:]3U*BBBOG#V@K+\3?\@&]_P"N?]:U*R_$
MW_(!O?\ KG_6@"[8_P#'E;_]<U_D*GJ"Q_X\K?\ ZYK_ "%3T %%%% !1110
M 4444 %%%% !7FOQP_9W\#_M#:'9:?XQTM[B73YOM.G:E9SM;7MA+Q\\,R$,
MIX&1R#@9!P,>E44 ?/7@G]C6S\'^)]&UBZ^+WQ:\51:3.EQ;:3X@\5&>R+*V
MY?,C2-#( >SD\#%?0M%% 'AOCS]EE_''BB^UF'XQ?%7PPEY(9'TS0?$:PVB$
M@ B-'A<QCCHK #)QBNI\#_L[^!/ 'PKU'X>V&CF[\-ZJ+@ZK'J,SW$VI23C$
M\MQ*QW/(XZMG/ Q@ 8])HH ^9M#_ &!?!>DV4&B7/C3XAZYX%@VK#X'U3Q&[
MZ.L:G*Q&-461X@1_JWD93T((KHM0_8Y\%ZE^RJOP!EU/7E\'+%%"+Y;B'^T-
MJ7:W0^?R?+SYB@']W]WCKS7N]% 'F?QT_9]\-?M :+I-GKUSJNDW^C7JZEI.
MMZ#>&TO]/N0I420R8(!P>A!' .,@8H:G^S+X4\6_!U?AQXVO=;^(6EK*;@:G
MXEOO.U(3;BR2K/&J%'3<0I4# R#D$@^MT4 ?//A/]C+3O#/B#1=1O/BQ\5O%
M%IH]U%>6>CZYXI:6R62)P\8=(XT:55*CY9&8$#!SDU]#444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %9?B;_D
MWO\ US_K6I5?4+-=0LIK9V*K(NTLO44 +8_\>5O_ -<U_D*GK$7P_=HH5=8N
M0H& ,"E_L&\_Z#-U^0H VJ*Q?[!O/^@S=?D*/[!O/^@S=?D* -JBL7^P;S_H
M,W7Y"C^P;S_H,W7Y"@#:HK%_L&\_Z#-U^0H_L&\_Z#-U^0H VJ*Q?[!O/^@S
M=?D*/[!O/^@S=?D* -JBL7^P;S_H,W7Y"C^P;S_H,W7Y"@#:HK%_L&\_Z#-U
M^0H_L&\_Z#-U^0H VJ*Q?[!O/^@S=?D*/[!O/^@S=?D* -JBL7^P;S_H,W7Y
M"C^P;S_H,W7Y"@#:HK%_L&\_Z#-U^0H_L&\_Z#-U^0H VJ*Q?[!O/^@S=?D*
M/[!O/^@S=?D* -JBL7^P;S_H,W7Y"C^P;S_H,W7Y"@#:HK%_L&\_Z#-U^0H_
ML&\_Z#-U^0H VJ*Q?[!O/^@S=?D*/[!O/^@S=?D* -JBL7^P;S_H,W7Y"C^P
M;S_H,W7Y"@#:HK%_L&\_Z#-U^0H_L&\_Z#-U^0H VJ*Q?[!O/^@S=?D*/[!O
M/^@S=?D* -JBL7^P;S_H,W7Y"C^P;S_H,W7Y"@#:HK%_L&\_Z#-U^0H_L&\_
MZ#-U^0H VJ*Q?[!O/^@S=?D*/[!O/^@S=?D* -JBL7^P;S_H,W7Y"C^P;S_H
M,W7Y"@#:HK%_L&\_Z#-U^0H_L&\_Z#-U^0H VJ*Q?[!O/^@S=?D*/[!O/^@S
M=?D* -JBL7^P;S_H,W7Y"C^P;S_H,W7Y"@#:HK%_L&\_Z#-U^0H_L&\_Z#-U
M^0H VJ@OO^/*X_ZYM_(UF?V#>?\ 09NOR%(WA^[=2K:Q<E2,$8% $_AG_D V
M7_7/^M:E5]/LUT^RAMD8LL:[0S=35B@ HHHH *\?US_D-ZA_U\2?^A&O8*QY
M_".DW,TDTEINDD8NS>8XR2<D]:Z\/6C1;<CGK4W422/*:*]2_P"$+T;_ )\_
M_(K_ /Q5'_"%Z-_SY_\ D5__ (JN[ZY3[,Y?JT^Z/+:*]2_X0O1O^?/_ ,BO
M_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%
M4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\
M"%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-
M_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^
M?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5
M_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#X
MJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY
M3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/
MJT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z
M/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*
M]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X
M0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O
M^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_
M ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO
M_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%
M4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\
M"%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-
M_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^
M?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5
M_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#X
MJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY
M3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/
MJT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z
M/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*
M]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X
M0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O
M^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_
M ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO
M_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%
M4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\
M"%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-
M_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^
M?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5
M_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#X
MJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY
M3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/
MJT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z
M/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*
M]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X
M0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O
M^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_
M ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO
M_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%
M4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\
M"%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-
M_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^
M?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5
M_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#X
MJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY
M3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/
MJT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z
M/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*
M]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X
M0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O
M^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_
M ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO
M_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%
M4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\
M"%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-
M_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^
M?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5
M_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#X
MJCZY3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY
M3[,/JT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/
MJT^Z/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z
M/+:*]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*
M]2_X0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X
M0O1O^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O
M^?/_ ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:*]2_X0O1O^?/_
M ,BO_P#%4?\ "%Z-_P ^?_D5_P#XJCZY3[,/JT^Z/+:W/!?_ ",UG_P/_P!
M:NV_X0O1O^?/_P BO_\ %5/9>%],TZZ2XM[;RYDSM;S&.,C!X)]#43Q<)1<4
MGJ5'#SC).YJT445Y)Z 5E^)O^0#>_P#7/^M:E0W5K'>V\D$R[HY!AAG% "6/
M_'E;_P#7-?Y"IZ;&@CC5%&%48 ]J=0 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%(S!5))P!R2: %HKQ7QM\2KFZ\0P'2YREK8R90KTE;H2?48R/H37JGA?Q%
M;^*-)BO8#@GB2/NC=P: -:BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHI&;:I)S@<\#- "T5B_\)99_\\KK_OR:/^$LL_\ GE=?]^30!M45
MB_\ "66?_/*Z_P"_)H_X2RS_ .>5U_WY- &U16+_ ,)99_\ /*Z_[\FC_A++
M/_GE=?\ ?DT ;5%8O_"66?\ SRNO^_)H_P"$LL_^>5U_WY- &U16+_PEEG_S
MRNO^_)H_X2RS_P">5U_WY- &U16+_P )99_\\KK_ +\FC_A++/\ YY77_?DT
M ;5%8O\ PEEG_P \KK_OR:/^$LL_^>5U_P!^30!M45B_\)99_P#/*Z_[\FC_
M (2RS_YY77_?DT ;5>:?%?QO]BA;1K*3]_(/](D7^!?[OU/\JZ/6O&+0Z;,=
M.M+B>\(Q&K1[0#ZG/I7C%QX9UR[N))IK.:261BS.Q&23WZT 8==)X%\72^$]
M6$A+-92_+/'[?WA[BJ7_  B.L?\ /A)^G^-'_"(ZQ_SX2?I_C0!](6]Q%=V\
M<T+K)%(H977H0>]25Y;\.=8U3P_"]AJ=G<&R^]%(H#%#W7KT-=Q_PEEG_P \
MKK_OR: -JBL7_A++/_GE=?\ ?DT?\)99_P#/*Z_[\F@#:HK%_P"$LL_^>5U_
MWY-'_"66?_/*Z_[\F@#:HK%_X2RS_P">5U_WY-'_  EEG_SRNO\ OR: -JBL
M7_A++/\ YY77_?DT?\)99_\ /*Z_[\F@#:HK%_X2RS_YY77_ 'Y-'_"66?\
MSRNO^_)H VJ*Q?\ A++/_GE=?]^31_PEEG_SRNO^_)H VJ*Q?^$LL_\ GE=?
M]^31_P )99_\\KK_ +\F@#:HK%_X2RS_ .>5U_WY-'_"66?_ #RNO^_)H VJ
M*Q?^$LL_^>5U_P!^31_PEEG_ ,\KK_OR: -JBL7_ (2RS_YY77_?DT?\)99_
M\\KK_OR: -JBL7_A++/_ )Y77_?DT?\ "66?_/*Z_P"_)H VJ*Q?^$LL_P#G
ME=?]^31_PEEG_P \KK_OR: -JBL7_A++/_GE=?\ ?DT?\)99_P#/*Z_[\F@#
M:HK%_P"$LL_^>5U_WY-'_"66?_/*Z_[\F@#:HK%_X2RS_P">5U_WY-'_  EE
MG_SRNO\ OR: -JBL7_A++/\ YY77_?DT?\)99_\ /*Z_[\F@#:HK%_X2RS_Y
MY77_ 'Y-'_"66?\ SRNO^_)H VJ*Q?\ A++/_GE=?]^31_PEEG_SRNO^_)H
MVJ*Q?^$LL_\ GE=?]^31_P )99_\\KK_ +\F@#:HK%_X2RS_ .>5U_WY-'_"
M66?_ #RNO^_)H VJ*Q?^$LL_^>5U_P!^31_PEEG_ ,\KK_OR: -JBL7_ (2R
MS_YY77_?DT?\)99_\\KK_OR: -JBL7_A++/_ )Y77_?DT?\ "66?_/*Z_P"_
M)H VJ*Q?^$LL_P#GE=?]^31_PEEG_P \KK_OR: -JBL7_A++/_GE=?\ ?DT?
M\)99_P#/*Z_[\F@#:HK%_P"$LL_^>5U_WY-'_"66?_/*Z_[\F@#:HK%_X2RS
M_P">5U_WY-'_  EEG_SRNO\ OR: -JBL7_A++/\ YY77_?DT?\)99_\ /*Z_
M[\F@#:HK%_X2RS_YY77_ 'Y-'_"66?\ SRNO^_)H VJ*Q?\ A++/_GE=?]^3
M1_PEEG_SRNO^_)H VJ*Q?^$LL_\ GE=?]^31_P )99_\\KK_ +\F@#:HK%_X
M2RS_ .>5U_WY-'_"66?_ #RNO^_)H VJ*Q?^$LL_^>5U_P!^31_PEEG_ ,\K
MK_OR: -JBL7_ (2RS_YY77_?DT?\)99_\\KK_OR: -JBL7_A++/_ )Y77_?D
MT?\ "66?_/*Z_P"_)H VJ*Q?^$LL_P#GE=?]^31_PEEG_P \KK_OR: -JBL7
M_A++/_GE=?\ ?DT?\)99_P#/*Z_[\F@#:HK%_P"$LL_^>5U_WY-'_"66?_/*
MZ_[\F@#:HK%_X2RS_P">5U_WY-'_  EEG_SRNO\ OR: -JBL7_A++/\ YY77
M_?DT?\)99_\ /*Z_[\F@#:HK%_X2RS_YY77_ 'Y-'_"66?\ SRNO^_)H VJ*
MQ?\ A++/_GE=?]^31_PEEG_SRNO^_)H VJ*Q?^$LL_\ GE=?]^31_P )99_\
M\KK_ +\F@#:HK%_X2RS_ .>5U_WY-'_"66?_ #RNO^_)H VJ*Q?^$LL_^>5U
M_P!^31_PEEG_ ,\KK_OR: -JBL7_ (2RS_YY77_?DT?\)99_\\KK_OR: -JB
ML7_A++/_ )Y77_?DT?\ "66?_/*Z_P"_)H VJ*Q?^$LL_P#GE=?]^31_PEEG
M_P \KK_OR: -JBL7_A++/_GE=?\ ?DT?\)99_P#/*Z_[\F@#:HK%_P"$LL_^
M>5U_WY-'_"66?_/*Z_[\F@#:HK%_X2RS_P">5U_WY-'_  EEG_SRNO\ OR:
M-JBL7_A++/\ YY77_?DT?\)99_\ /*Z_[\F@#:HK%_X2RS_YY77_ 'Y-'_"6
M6?\ SRNO^_)H VJ*Q?\ A++/_GE=?]^31_PEEG_SRNO^_)H VJ*Q?^$LL_\
MGE=?]^31_P )99_\\KK_ +\F@#:HK%_X2RS_ .>5U_WY-'_"66?_ #RNO^_)
MH VJ*Q?^$LL_^>5U_P!^31_PEEG_ ,\KK_OR: -JBL7_ (2RS_YY77_?DT?\
M)99_\\KK_OR: -JBL7_A++/_ )Y77_?DT?\ "66?_/*Z_P"_)H VJ*Q?^$LL
M_P#GE=?]^31_PEEG_P \KK_OR: -JBL7_A++/_GE=?\ ?DT?\)99_P#/*Z_[
M\F@#:HK%_P"$LL_^>5U_WY-'_"66?_/*Z_[\F@#:HK%_X2RS_P">5U_WY-'_
M  EEG_SRNO\ OR: -JBL7_A++/\ YY77_?DT?\)99_\ /*Z_[\F@#:HK%_X2
MRS_YY77_ 'Y-'_"66?\ SRNO^_)H VJ*Q?\ A++/_GE=?]^31_PEEG_SRNO^
M_)H VJ*Q?^$LL_\ GE=?]^31_P )99_\\KK_ +\F@#:HK%_X2RS_ .>5U_WY
M-'_"66?_ #RNO^_)H VJ*Q?^$LL_^>5U_P!^31_PEEG_ ,\KK_OR: -JBL7_
M (2RS_YY77_?DT?\)99_\\KK_OR: -JBL7_A++/_ )Y77_?DT?\ "66?_/*Z
M_P"_)H VJ*Q?^$LL_P#GE=?]^31_PEEG_P \KK_OR: -JBL7_A++/_GE=?\
M?DT?\)99_P#/*Z_[\F@#:HK%_P"$LL_^>5U_WY-'_"66?_/*Z_[\F@#:HK%_
MX2RS_P">5U_WY-'_  EEG_SRNO\ OR: -JBL7_A++/\ YY77_?DT?\)99_\
M/*Z_[\F@#:HK%_X2RS_YY77_ 'Y-'_"66?\ SRNO^_)H VJ*Q?\ A++/_GE=
M?]^31_PEEG_SRNO^_)H VJ*Q?^$LL_\ GE=?]^31_P )99_\\KK_ +\F@#:H
MK%_X2RS_ .>5U_WY-'_"66?_ #RNO^_)H VJ*Q?^$LL_^>5U_P!^31_PEEG_
M ,\KK_OR: -JBL7_ (2RS_YY77_?DT?\)99_\\KK_OR: -JBL7_A++/_ )Y7
M7_?DT?\ "66?_/*Z_P"_)H VJ*Q?^$LL_P#GE=?]^31_PEEG_P \KK_OR: -
MJBL7_A++/_GE=?\ ?DT?\)99_P#/*Z_[\F@#:HK%_P"$LL_^>5U_WY-'_"66
M?_/*Z_[\F@#:HK%_X2RS_P">5U_WY-'_  EEG_SRNO\ OR: -JBL7_A++/\
MYY77_?DT?\)99_\ /*Z_[\F@#:HK%_X2RS_YY77_ 'Y-'_"66?\ SRNO^_)H
M VJ*Q?\ A++/_GE=?]^31_PEEG_SRNO^_)H VJ*Q?^$LL_\ GE=?]^31_P )
M99_\\KK_ +\F@#:HK%_X2RS_ .>5U_WY-'_"66?_ #RNO^_)H VJ*Q?^$LL_
M^>5U_P!^31_PEEG_ ,\KK_OR: -JBL7_ (2RS_YY77_?DT?\)99_\\KK_OR:
M -JBL7_A++/_ )Y77_?DT?\ "66?_/*Z_P"_)H VJ*Q?^$LL_P#GE=?]^31_
MPEEG_P \KK_OR: -JBL7_A++/_GE=?\ ?DT?\)99_P#/*Z_[\F@#:HK%_P"$
MLL_^>5U_WY-'_"66?_/*Z_[\F@#:HK%_X2RS_P">5U_WY-'_  EEG_SRNO\
MOR: -JBL7_A++/\ YY77_?DT?\)99_\ /*Z_[\F@#:HK%_X2RS_YY77_ 'Y-
M'_"66?\ SRNO^_)H VJ*Q?\ A++/_GE=?]^31_PEEG_SRNO^_)H VJ*Q?^$L
ML_\ GE=?]^31_P )99_\\KK_ +\F@#:HK%_X2RS_ .>5U_WY-'_"66?_ #RN
MO^_)H VJ*Q?^$LL_^>5U_P!^31_PEEG_ ,\KK_OR: -JBL7_ (2RS_YY77_?
MDT?\)99_\\KK_OR: -JBL7_A++/_ )Y77_?DT?\ "66?_/*Z_P"_)H VJ*Q?
M^$LL_P#GE=?]^31_PEEG_P \KK_OR: -JBL7_A++/_GE=?\ ?DT?\)99_P#/
M*Z_[\F@#:HK%_P"$LL_^>5U_WY-'_"66?_/*Z_[\F@#:HK%_X2RS_P">5U_W
MY-'_  EEG_SRNO\ OR: -JBL7_A++/\ YY77_?DT?\)99_\ /*Z_[\F@#:HK
M%_X2RS_YY77_ 'Y-'_"66?\ SRNO^_)H VJ*Q?\ A++/_GE=?]^31_PEEG_S
MRNO^_)H VJ*Q?^$LL_\ GE=?]^31_P )99_\\KK_ +\F@#:HK%_X2RS_ .>5
MU_WY-'_"66?_ #RNO^_)H VJ*Q?^$LL_^>5U_P!^31_PEEG_ ,\KK_OR: -J
MBL7_ (2RS_YY77_?DT?\)99_\\KK_OR: -JBL[3]=M]2G\J))E;&[,D1 _.M
M&@ HHHH *0D*"2< 4M17/_'O+_N'^5 !]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M;WVF'_GJG_?0H^TP_P#/5/\ OH5@T4 ;WVF'_GJG_?0H^TP_\]4_[Z%8-% &
M]]IA_P">J?\ ?0H^TP_\]4_[Z%8-% &]]IA_YZI_WT*/M,/_ #U3_OH5@T4
M= LR2'"NK'V.:?63I/\ Q\-_N?U%:U !1110 5%<_P#'O+_N'^52U%<_\>\O
M^X?Y4 8-%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 R.9)E+(P<9(R#W%/K.T+_C
MS?\ ZZO_ #K1H **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ ILDBPQL[L%11DDTZJ6L_P#(+N?]V@"X
M"& (.0:6H[;_ (]XO]P?RJ2@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "F&9%D6,L [#(7/)%/K.G
M_P"0Y;?]<FH T:*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH *8DR2,ZJP8H<, >AI]9VE_\?FH?
M]=?Z4 :-%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 (2%!). *2.19HU=&#(PR"*;<_\>\O^X?Y
M56T;_D%VW^[0!=HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@!CS)&R*S!2YPH)ZFGUG:I_Q^:?_
M -=?Z5HT %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 ,$R-(T88%U&2N>0*?6=!_R'+G_KDM:-
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
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
M)_P]TZ;X^>%/CEHGB[6(?#]Y9:>FGQ7^FW,X807$2V;',!D 1A(&V[E^?)H
M^UZ*^2=-\9?&GXO?'#XP> O#?BZU\%^'_"^JVOE^))-)@O;F));.)ULX(74(
M?G$LCRREV =% YR.V_9\\?>+[?XM?%'X7^/=??Q)JV@S6FJZ/JDUI!;/=:9<
MQ  ;(41?W<L;J21G+]3@8 /H"BOC&[_:V\2^'? /QB^)T]]9WGAT^*H_"G@;
M3M0\JVLE>-A;R7<DX4.8GE,DK%V.%A8#9FL'7?VGM6^#DGAWQ'-^T9X'^,-G
M<ZG;66N>%=.73XI8(9I-C3V/V9VF;RBRDK+OW*"<K0!]V45\K^*/'GQ>\9?M
M1^./A9X-\06?AS0[;1=,U+^W[K3XKM])#><)%@B( EEG8QX,K%$6%R%).#0^
M*'Q*\;^$?BOX(^$^J?%VU\#6]UX=.HR^/M1T>T6;6[\7!C:TB64?986";7*[
M22)% '>@#ZWHKBOA3X;\8>&-!N+;QEXWC\>WC3[[74TTJ+3V$&Q<*Z1,49MV
MX[E"@@CY1BNUH **** "BBB@ HHHH **** "LZ?_ )#EM_UR:M&LZ?\ Y#EM
M_P!<FH T:*** "BBB@#F/%7Q,\-^"?$7AC0M;U'[!J7B:YDL]*C:WE9+B9$W
MM&9%4HC;02 [+NP0N3Q6SKNN6/AG0]0UC5+E;/3-/MY+NZN),[8HHU+NYQV"
M@G\*\-_;C\%W_B3X"WVOZ&F[Q1X'O+?Q=I#;22)K-O,< #D[HO-7'<D5QO[6
M'Q,'Q9_9T\#>'?!UTT=Y\8[O3]*LY$PSP6,ZB:ZD8>B0JR..HWGC/0 ]I\'_
M +0W@CQYXJT#0-#O[N\O==\/_P#"3Z>[Z?/#%-8&41"3=(B[26.0K '&#T(S
MZ37A.E>*M4\,_M9:%\+]-N5M? MI\.'U"'24@CPEQ%?P6\;A]N\ 1$KMW;>^
M,\UYG\+_ !3\<?VA-<^)6G:;X]@\!:!X3\;ZOHT.M1:+;7U[?)%<,([98Y%$
M4<<41C!D*N[LW)&TE@#ZV36M/DUB;2$O[9]5A@2ZEL5F4SI"[.J2,F=P1FCD
M4,1@E& Z&KE?#O@?P/\ $'7OVWOC3:VOQ<U32)M/T_17>>#1K"7SK>199([;
M;)$P18]S@,N&;<2Q)YKVGX/_ !.\2^*?VJ/V@_!^J:E]J\.^%?\ A'O['L_(
MB3[+]IL7EG^=5#ON< _.6QC P.* />:*\+\(_$KQ)JG[8GQ \#W6H^;X7TOP
MWIU_9V'D1#RIY7<2/Y@7><@#@L0.P%>5_'SXB>,_A+I?B_Q$_P"TUX3L]>TF
M.ZO]/\#7&EZ=%%=)$&=+-@\IN7E=0JY1P=S#"]B ?2OC;XK:3X#\7>"/#NH6
M][->^+KZ;3[&2V1&CCDC@>9C*68$+M0@;0QSCCO79U\G_$#QHOQ(\8?L?^+5
M@^RKKU])JH@SGRQ/H\DNW/MOQ^%?6% 'G_PA^/G@+X\6NL7'@7Q FNQZ1=?8
M[[%M-;M#+C(!65$)!P<, 0<'G@U:^+WQI\&? ;PF/$WCO6UT'1&N$M%N6MY9
MRTKABJ!(D9B2%8\#@ FOA3]B11\'?$7PI\1J/)T'XH0:WX=U%@ $&J6FJWLM
MG(YQDL\)EB'^Z.F*Z;]OZZD^*&J>/-+A/F:'\+_!EQJE[T*MJNH*8+=&![I:
MB>0'L95[X( /O+2]2MM9TVTU"SD\ZTNH4GADVE=R,H93@@$9!'7FK->0:NNO
M-\!/"CZ!XXTSX>2QV%B]UKNJ64=U'%;B ;U59)$17)VX9B0 #\IKRKX,_'C5
M(/VDK?X:3?%O1?C1H>JZ)<:E#JNGQ6276F74$B*T$QLR(RK*68956!&.0,D
M^M*XS6OBMI.A?%3PSX N+>]?6?$%C>:A:SQHAMTCMC&) [%@P8^:N,*1P<D5
MX%X.\0_&']J*Z\2>)_"'Q)M?A?X%L=7N=)T6&UT"WU.YU);=S')<SO.<*K.K
M;53!QG)R,G%^.=OX]M?VI/V?M&T+6+%_%]WX<UBRO/$5W8[H(,);-<70M@P!
M)V,$CW8#.N20#D ^RJY'P1\4M ^(6M>+-*T:6XDO/"^H_P!E:DLUN\2K/L5\
M(6&'&&'(_D03XGI'B;XH?!G]HCP!X)\7>.%^)/ACQY!J,=M=W.D6VGW>F7=I
M;B<C, 59(G0.!E2P..>.=?X=_%3Q1KO_  T1]NU3S_\ A$]<NK/1O]'B7[+$
MEA%*J\*-^'=CE]QYQG'% 'T'17QW\'?^&B/CM\ _#/CZ+XJV?A/6;W2DFL]'
M@\.VEQ#>NBX$MW*XR#.RE\0B-8Q(  Q6K&K?MHWZ_LI_"WQNC:'H7B[Q]<0:
M3%=:U,(-+TZ8F1;B\E+-_J4$+L%+9.Y!D\T ?7E%?%&E_M*7WPS^)_P]TZ;X
M^>%/CEHGB[6(?#]Y9:>FGQ7^FW,X807$2V;',!D 1A(&V[E^?)K7T'XC>/OC
M9\6_B'X;M/C-9?"C6/#FNW&EZ;X/31+2ZNKNTBVF.]D^U?O)4E4EAY.T!6'S
M=#0!]@45F>%[/5-/\.:9;:YJ,>KZS#;QI>7\-N+=+B8*-[K'D[ 3DA<G'J:T
MZ "BBB@ K.TO_C\U#_KK_2M&L[2_^/S4/^NO]* -&BBB@ HHHH **** "BBB
M@ HHHH *HZYKFG>&=(N]5U>_MM+TRTC,MQ>7DJQ0PH.K.[$!0/4U>KY4_:LT
MN/XJ_M"? CX4:SF7P9JD^I:]K%AN(34#90J]O#(!]Z/>Q+*>#QW H ZNS_;X
M^ M]JD5A#\08"\TH@BN6TZ\2TD<G "W!A$1YXX?L?2O3/#/Q8TCQ5\3?&W@:
MTM[V/5O"46GS7TTR(()!>1R/%Y3!RQ($3;MRK@D8SVZI=*LDT^.P6SMUL8U5
M4MA$OE*%QM 7& !@8],5\\?">]@TW]L']IB[N9!#;6^G>%Y99&Z*JVEV23]
M* /I&BOD[X:ZA\;_ -I3P-'\2]$^)5M\-M*U=II= \,Q^'K:^3[*LC+"]Y-*
M3(SR!<D1%  01GI6%X\_:N\9ZA^QI>^.=-D@\+_$#1_$4'AS6%M(4G@BNH[^
M.WN!$LRN-CHV1D$J'ZY&: /LZBO%_P!LOXA^(/A3^S+X[\6>%=0_LOQ!IEK%
M):7GDQS>6QGC0G9(K*?E8CD'K7*_%#XI^.O$WQ0\#?"+P!K-IX;U[5M ?Q-K
MGB6XLDO)+"Q5EB7R(&^1I))F*Y?Y5 Z'L >K>,/C-HO@GXJ?#WP#?6M_+K'C
M?^T/[.GMXT-O%]C@6:7SF+AERK +M5LGK@<UWE?#7BS1?B!X9_;N_9JTGQGX
MF@\9V$:>))],UPZ?'973E]-Q-#-'%B([-D;!T"Y\T@J-H)^Y: "BBB@ HHHH
M **** "BBB@ HHHH CN?^/>7_</\JK:-_P @NV_W:LW/_'O+_N'^55M&_P"0
M7;?[M %VBBB@ HHHH **** "BBB@ HHHH \_^+WQ\\!? :UT>Z\>>($\/VVK
M77V.SEDMII5>7&<$QHVP8YW-@#UKT"ODS]N;X>Z?\6/&7P3\&ZHH-CK>K:K8
MNQ )C+Z5<!9!G^)6PP/8J*VO@C^T,=#_ &.+SQ=XO/\ Q/O -G=Z/K]N[Y=K
M^PS$4)Q]Z7;$WUE% 'K/A7X]^ _&WQ.\1_#W1-?6_P#%_AU/,U/3TM9U%NN5
M'^M9!&Q!=00K$@GV./0*^"/V-_ NI_#_ /:JFL]?/F>)]0^&D&M:U*R@,U]>
M:I+<SAL<$JTI3Z(*])^'?B'XN_M3:1JGCSPK\2[?X;>#9-0NK/P[86>@6VHO
M>P6\S1?:;J2?)^=XW'EQ;, ?>)H ^@OBQ\2M,^#OPY\0>-=9@N[G2M%M6N[B
M&Q17G9 0"$#,JD\]V%=+87B:A8V]U&&6.>-95#=0& (S[\U\6_$SXP:S\5OV
M%_CI9^*[2UL_&GA)K[PYK0L PM9IX60B>$,21'(CHP!Y!W#TKI-3LOV@M#^"
MR_$JT^(>FQZG8:,NL'P#_8$#:>T*0^8;0W)/V@R[!CS0X4L/N*#F@#Z'\5?%
M3P_X,\;>#O"FIS7$>L>+);F'2TBMGD1V@B\V3>X&$^4C&[K^!Q#X3^+&D>,O
MB)X[\&V5O>Q:IX-ELH;^:X1!#*;JW%Q'Y1#EB C -N5<'ID<UY)<_'[5O%?C
M_P#9AN?#]V^G^&?B';ZE>ZEI\D,;M(BZ4;F&,NREE*2=2A&<8.15;X1ZQ:^'
M?VFOVK=5OI/*LK&;0;J>3^[&FCHS'\ #0!],45\#Z3^T[XD^(O@6X^(5O^T?
M\._ .J7$4E[I7PZNWTV6-(UW&*"^FDD%QYK@+N,>S83]T]*^N/@#\5XOCE\&
M?"/CN*U^PG6[%;B6U#%A#*"4E0$@$@.K ''( - 'H%%%% !1110 4444 %%%
M% !1110!G:I_Q^:?_P!=?Z5HUG:I_P ?FG_]=?Z5HT %%%% !1110 4444 %
M5]0U&UTBPN+Z^N8;*RMHVEGN;B01QQ(HRS,Q.%  ))/ JQ7RU^VI:MX^\7?!
M+X4WDTT7AKQEXCD?6HH9"AN[:SA,_P!F8CG8[;<XP?E% '1R_M^? *'4&M#\
M1+5@LODF\2PNVLMV<?\ 'T(?)QGOOQ7OUO<1W5O'-$P>*10Z,.A4C(-4[+P]
MI>FZ)#HUKIMI;:1#$((["*!5@2,# 0(!M"^V*\'^(/C[QW\1OCY=_"CX>^(K
M?P5;:%H\.KZ_XD;3X[^Y5YY"(+6"*7]VI*(SL[JW!  ]0#Z(HKYX^&?Q \>>
M OCT?A'\1->MO&BZIHSZYH'B>'3X[&>012".>VN(HSY>]=RLK(H!!.>>!P7P
M7UWXY?M$Z?XWFC^)D7@33-!\4ZKHMC>6>@6EY=WPBG;89/-7RUBC5HXPJIO<
MHY9^10!]>W^H6VE6-S>WMS#9V=M&TT]Q<.$CBC4$L[,>%4 $DG@ 4ZUNH;ZV
MBN+>6.XMYD$D<T3!D=2,A@1P01SD5\(_%+XC?$'XF?L0?&RWU[Q!'I?B;P1J
MNJ>&=9O-+LHUAUN&%8^0K%O)66.=-VW!R"!C.*^B_@;X+\;>&?A/OU#XDS^)
M[N^T2U.DMJVDVD,&DN(&P<6Z1M*F6CR';.(^",DT >T5R$?Q4\/R_%B7X<+-
M<'Q3%HPUYH?LSB+[(9O)#>;C;NW_ ,.<]^QKY.\<_'CQ+\#]:\*WTW[1/AGX
MH7-SKEGI>L>#8['3K>7R)Y1&\ULL#F=&CY.)"X/<C&#[Q!\0_$#_ +9E[X%.
MH9\*Q^ (-;6P\F/B\;49H6E\S;OYC15V[MO&<9YH ]HHKX[^"^N_'+]HG3_&
M\T?Q,B\":9H/BG5=%L;RST"TO+N^$4[;#)YJ^6L4:M'&%5-[E'+/R*T/#_[6
MGB#P+^S/\4O%OCVWLM6\5_#OQ#>>%I9+0"UM]5N4DA2WE"Y/EJ_VF+=_= 8X
M&,  ^M**^!O&'[4'B'X1>$8/'LW[1_P^^)=[:RP2:O\ #_2CIRQR0R2(LJ6$
MD4AN"\88L#(7W!22!TKU/XD?%#XHZ_\ M50_"_X?:Q9Z5H^J>!K;76U>^L4N
M%THF]N(Y+E(R 9I7401K&[A!RQ!P0P!]345\E?%KXA>//A;XC^&'PWUKXN6_
MAN+6;:^FU#XF:MHEHC75PDJF&SCC(%K Y23&64Y$:_Q$Y]W^$?AGQEX;T^^'
MBSX@Q_$.&X>.73K[^R8+&2.+;R',!V29)!#!5X[4 =]1110 4444 %%%% !1
M110!G0?\ARY_ZY+6C6=!_P ARY_ZY+6C0 4444 %%%% !1110 5S'AGXF>&_
M&/BGQ3X<T?4OM>L^&)H;?5[;R)4^S22Q^9&-S*%?*\Y0L!WP:Z>OCWX8^))_
M!WQ>_;-U^U19+G2GL;Z)'^ZSQ:4[J#[944 >Q?$O]KKX1?"+Q$V@>)_&=O;:
MX@#2:;8VMQ?W$((R#)';QR,G!!^8#J/6NF\ ?'+P'\5/"5[XE\)>)[+7]'L5
M9KJ:S+-);[5+$218\Q&P"0I4$CH#7F7[!O@73?"_[-OA+78XEN/$/BNU77M:
MU:50;F^N;@F4M(_5MH?:.P ]2<\W\4-)M_A7^W%\'O$GA^".P;Q_!JFA>(X8
M!L6^\B!9[:9E'!D5@1O/S;>,XH VYO\ @HE\ ;=HEE\:7L32MLC5_#6J@NW7
M S:\FO3_ (1_'KP/\=;74KCP5JUQJL6G.D=RUQIMU9;&<$J +B)"V0I^[G&.
M:\W_ &J?^2D?L[?]CVG_ *0W5>U>/_&FG_#GP-X@\5:J^S3=%L)]0N.<$I$A
M<@>YQ@#N2* (/#?Q(\.>+_$/B?1-(U WFH^&;B.TU5!;RI';S/&)%02,H1SL
M()",VW(#8)Q7E&M_MY? ;P_K-UIES\0[26>U?RYYK&RNKNVB8'!#7$,31#\6
MKYZ\8:1XB\!?\$^C-<7+Z;XQ^*NN6][KU]'\LD3:K=H9 !V(MRD.#TYZ<8^X
M_!?@/0/AWX/T[POX=TJVTO0;" 6\%E!& @0#!S_>)Y+,<EB2222: ,/Q%\<O
M OAGX:K\0+KQ#!<^#F\LIJNEQ27\;[W"+M6W5V;YC@X!QSG&#7E7_#Q+X _:
MC;?\)I>_:-GF>3_PC6J[]N<;L?9<XSQFL?\ 9STN'X5_M6_&SX;Z(BVG@^:W
MT[Q1I^F0C$5C/.K1W*QKT57=%;:.!@ 8K=MO^4B&I?\ 9++7_P!.]Q0![-X
M^(WA_P")_@NR\6>'+Y[S0+P2-#=3VTMJ2(Y&C<F.94=<,C#YE&<9'!!KF=/_
M &D/AWJOAOP7KUMK[MI/C/41I6@W#Z?=)]MN2SJ%"M$&0$QOAW"J0 0<$$\K
M^VAXTU'PQ\#+_1=!D">*?&5W!X3T<;L'[1>-Y18'MMB\U\CILS7G'[2'@O3_
M (<_\,H^%=)39IFB^.=+T^W!')2*VD0$^YQDGN2: /I?XA?$KPK\*/#<VO\
MC#7['P[I$9VFZOYA&K,02$4=78X.%4$G' KSOX?_ +97P=^*'BJS\->'/&*W
M6N7N[[)9W6G7=HUS@%CY1FB0/@ GY2>!FO.(?#]G\9OV^_$R>)X5U+2OAKH%
M@VC:7< /;I>7FZ1[LH1@R!5" GI@$<@$?5<EK#--#+)#')+"2T3LH+(2""5/
M8D$CCL: /%O'/[:WP5^'/B2]T'7/'5LFJ6+%+R&PL[F^6T89RLSV\3K$1@Y#
MD$8.>AKU;PCXOT;Q]X:T_P 0>'M1AU;1=0C\VUO;<YCE3)&1^(/Y5\?_  5^
M)MM^Q+I.J> /BMX:U30=,_MN\O+;XA6=B]UI6J)<7!>.2YFC!:&8!U0B0<",
M<X S]C^'-0TG5M!L+[0I[2ZT:YA6:TGL&5H)(V&59"O!4@YR/6@#1HHHH **
M** "BBB@ HHHH **** +ND_\?#?[G]16M63I/_'PW^Y_45K4 %%%% !45S_Q
M[R_[A_E4M17/_'O+_N'^5 &#1110 4444 %%%% !7*_%BSN-2^%GC*TM()+J
MZN-&O(H8(4+O([0.%55')))  '7-=514RCS1<>YO0JNA5A52ORM/[G<\2_8_
M\/ZIX9^#L=EK&FWFE7GV^=_L]] \,FT[<':P!P:Y7X1>$M<TW]K3X@ZQ>:-J
M%KI-U:7"P7\]K(D$I,]N0$D(VL2%8\'L?2OI>BN-82*C3C?X#Z.>?U9U\;7Y
M%?$II^5VGI]P5\7:7JGC;X1_M >/_$5E\-M?\36FI7-Q#$UO;3QQE3,'$BN(
MG# [>WKUK[1HJL1AW7Y6I<KB[G/E&;1RM5H5**J0JQY6FVM+WW5GT/E_XTZQ
MXJ^,W[.]Q,? >L:+JXU>-!HY@EGN&C49\W;Y2MM^8C[N..M:7Q<\*ZWJ7[(?
MA[1K/1[^ZU>+3]+233X;5WN$9$C#@Q@;@5P<C'&.:^CJ*RE@^?F<I7<H\O\
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
M=S-<V]H[%K>,IL4@A=Q(X^7 ^KJ** "BBB@ HHHH *I:S_R"[G_=J[5+6?\
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
M ./S4/\ KK_2M&L[2_\ C\U#_KK_ $H T:*** "BBB@ HHHH **** "BBB@
MKY[_ &J?A7XLUK6OA_\ %#X=V=OJGCCP#>SSQZ/<3>2-5L;B,1W5L)#PLA4#
M86X!SZ\_0E% 'SUH?[7EUK5W9Z>WP.^+5CJLTBQ2QW7AL1VL#%@K,;DR",H.
MNX$DCMGBCX>^!]0NOVGOVBY]5TF^MO#^O:;X>M;:^D@>.&["VMTDPBD(VN4W
M@-M)VEAGK7T+10!\@_!?XB>+?V8?AC8_"WQ/\+O&GBC6/#8DLM*U3PKI)O-/
MU>W\QC _G!MMNVUE#"7;C:3STK"U[]F+Q_J'[#_C'0Y[*&3XF^(->D\;7&CI
M<*\:W3WR7)M!+G#-Y<>W.<%SUQS7VW10!\._M7_%CQG^T%^S/XK\)>#?@YX^
MM-9OK6-]1&N:+):K:I'*DCQP@Y:ZE8IL40JPPQ8D8P>Y^)GA_P 2_"GXY> _
MC1I/A+5O%^EKX3;PAXATS1(#/J5K"95N89XK?(,H$@975?F / /;ZIHH ^-]
M:UCQ=\9OVP?@#XOM/AYXGT'P-X?;7K=M0US39+:?S9].8%Y82"8(B4B1&EVE
MW9@%XR?LBBB@ HHHH **** "BBB@ HHHH **** ([G_CWE_W#_*JVC?\@NV_
MW:LW/_'O+_N'^55M&_Y!=M_NT 7:*** "BBB@ HHHH **** "BBB@#P?X_>&
M]6UGXV?L_P!]I^EWM]9:9XAO9KZYMK=Y([2-M/F17E8 A%+$*"V 20*\8^)O
MP&\8ZA^UDWA?3=)N9OA!X\U+3?%_B.\6(FVM[G3PYDM6;& ;F2.S8Y()VG:,
M!B/M^B@#YUT/PMK4/[?GB;Q"^D7Z:!-X M;./56MG%J\XO68Q"7&TN%Y*@YQ
MSBN(^"/B3Q!^Q_X/O/A7K?PU\9^)=,T?4+R3PWK'A+2CJ5O?V4]P\\:2,I'D
M3*TK*PEPO&=Q%?8-% 'Q)K'P;\=I^QS\>[[6M"NCXZ^(E[?:ZOAJP!O)[-)/
M*2"U'EY\QUCC!.WUQVKI?%GQG^(<WP7N_AO!\)/&DGQ3NM'.ABYAL =%%PT)
MA-V-0W^4(>L@#$/T!4=1];44 ?*7_"F]9^'OQ!_9#T*UM+S6+#P;::I8ZIJU
MK;.UO"W]CF%7D<#$:O)PNXC)(')K>\!_#F^UOXZ?M1VVLZ9?V.@>*1H]I;7T
MEN\<5W&=(6&8PR$ /L8E25)PPP<&OH^B@#X@^$.O2? 'P'I'PZ^(?[/_ (E\
M2Z_H*'3X=?\ "GA:/5;'5($8B&83 CRV*;=PEP<\G&2!]A>!KA;OPAI-PF@2
M>%EFMUE_L::.-)+,M\QC=8R4# GG:2,YY-;M% !1110 4444 %%%% !1110
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
MB@ MO^/>+_<'\JDI%4(H4< # I: "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *SI_^0Y;?]<FK1J)K
M9&N$G(_>*I4'/8T 2T444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 5G:7_Q^:A_UU_I6C44-LD$D
MKH,-(VYN>] $M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 1W/_ ![R_P"X?Y56T;_D%VW^[5QE
M#J5/((P:9;P);0I$@PBC S0!)1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% &=JG_'YI_P#UU_I6
MC44ULD\D3N,M&VY>>]2T %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 9T'_(<N?^N2UHU$MLBW
M#S@?O&4*3GL*EH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** +ND_\?#?[G]16M63I/\
MQ\-_N?U%:U !1110 5%<_P#'O+_N'^52T4 <Y171T4 <Y171T4 <Y171T4 <
MY171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171
MT4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <
MY171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171
MT4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <
MY171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171
MT4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <
MY171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171
MT4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <
MY171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171
MT4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <
MY171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171
MT4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <
MY171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171
MT4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <
MY171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171
MT4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <
MY171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 <Y171T4 9.D_\?#?[G]16
MM110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
K 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 ?_V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>16
<FILENAME>qlys-20231231_g2.jpg
<TEXT>
begin 644 qlys-20231231_g2.jpg
M_]C_X  02D9)1@ ! @$ 8 !@  #_[@ .061O8F4 90     !_]L 0P " 0$!
M 0$" 0$! @(" @($ P(" @(%! 0#! 8%!@8&!08&!@<)" 8'"0<&!@@+" D*
M"@H*"@8("PP+"@P)"@H*_]L 0P$" @(" @(% P,%"@<&!PH*"@H*"@H*"@H*
M"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*_\  $0@"
M^ 3* P$B  (1 0,1 ?_$ !\   $% 0$! 0$!           ! @,$!08'" D*
M"__$ +40  (! P,"! ,%!00$   !?0$" P $$042(3%!!A-180<B<10R@9&A
M""-"L<$54M'P)#-B<H()"A87&!D:)28G*"DJ-#4V-S@Y.D-$149'2$E*4U15
M5E=865IC9&5F9VAI:G-T=79W>'EZ@X2%AH>(B8J2DY25EI>8F9JBHZ2EIJ>H
MJ:JRL[2UMK>XN;K"P\3%QL?(R<K2T]35UM?8V=KAXN/DY>;GZ.GJ\?+S]/7V
M]_CY^O_$ !\!  ,! 0$! 0$! 0$        ! @,$!08'" D*"__$ +41  (!
M @0$ P0'!00$  $"=P ! @,1! 4A,08205$'87$3(C*!"!1"D:&QP0DC,U+P
M%6)RT0H6)#3A)?$7&!D:)B<H*2HU-C<X.3I#1$5&1TA)2E-455976%E:8V1E
M9F=H:6IS='5V=WAY>H*#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6V
MM[BYNL+#Q,7&Q\C)RM+3U-76U]C9VN+CY.7FY^CIZO+S]/7V]_CY^O_:  P#
M 0 "$0,1 #\ _;?2-(U;Q+JUY;V^KO%Y3D_,['/S$=C6G_PKC7_^AE_5_P#&
MCX<?\A_4OQ_]#-=E0!QO_"N-?_Z&7]7_ ,:/^%<:_P#]#+^K_P"-=E10!QO_
M  KC7_\ H9?U?_&C_A7&O_\ 0R_J_P#C7944 <;_ ,*XU_\ Z&7]7_QH_P"%
M<:__ -#+^K_XUV5% '&_\*XU_P#Z&7]7_P :/^%<:_\ ]#+^K_XUV5% '&_\
M*XU__H9?U?\ QH_X5QK_ /T,OZO_ (UV5% '&_\ "N-?_P"AE_5_\:/^%<:_
M_P!#+^K_ .-=E10!QO\ PKC7_P#H9?U?_&C_ (5QK_\ T,OZO_C7944 <;_P
MKC7_ /H9?U?_ !H_X5QK_P#T,OZO_C7944 <;_PKC7_^AE_5_P#&C_A7&O\
M_0R_J_\ C7944 <;_P *XU__ *&7]7_QH_X5QK__ $,OZO\ XUV5% '&_P#"
MN-?_ .AE_5_\:/\ A7&O_P#0R_J_^-=E10!QO_"N-?\ ^AE_5_\ &C_A7&O_
M /0R_J_^-=E10!QO_"N-?_Z&7]7_ ,:/^%<:_P#]#+^K_P"-=E10!QO_  KC
M7_\ H9?U?_&C_A7&O_\ 0R_J_P#C7944 <;_ ,*XU_\ Z&7]7_QH_P"%<:__
M -#+^K_XUV5% '&_\*XU_P#Z&7]7_P :/^%<:_\ ]#+^K_XUV5% '&_\*XU_
M_H9?U?\ QH_X5QK_ /T,OZO_ (UV5% '&_\ "N-?_P"AE_5_\:/^%<:__P!#
M+^K_ .-=E10!QO\ PKC7_P#H9?U?_&C_ (5QK_\ T,OZO_C7944 <;_PKC7_
M /H9?U?_ !H_X5QK_P#T,OZO_C7944 <;_PKC7_^AE_5_P#&C_A7&O\ _0R_
MJ_\ C7944 <;_P *XU__ *&7]7_QH_X5QK__ $,OZO\ XUV5% '&_P#"N-?_
M .AE_5_\:/\ A7&O_P#0R_J_^-=E10!QO_"N-?\ ^AE_5_\ &C_A7&O_ /0R
M_J_^-=E10!QO_"N-?_Z&7]7_ ,:/^%<:_P#]#+^K_P"-=E10!QO_  KC7_\
MH9?U?_&C_A7&O_\ 0R_J_P#C7944 <;_ ,*XU_\ Z&7]7_QH_P"%<:__ -#+
M^K_XUV5% '&_\*XU_P#Z&7]7_P :/^%<:_\ ]#+^K_XUV5% '&_\*XU__H9?
MU?\ QH_X5QK_ /T,OZO_ (UV5% '&_\ "N-?_P"AE_5_\:/^%<:__P!#+^K_
M .-=E10!QO\ PKC7_P#H9?U?_&C_ (5QK_\ T,OZO_C7944 <;_PKC7_ /H9
M?U?_ !H_X5QK_P#T,OZO_C7944 <;_PKC7_^AE_5_P#&C_A7&O\ _0R_J_\
MC7944 <;_P *XU__ *&7]7_QH_X5QK__ $,OZO\ XUV5% '&_P#"N-?_ .AE
M_5_\:/\ A7&O_P#0R_J_^-=E10!QO_"N-?\ ^AE_5_\ &C_A7&O_ /0R_J_^
M-=E10!QO_"N-?_Z&7]7_ ,:/^%<:_P#]#+^K_P"-=E10!QO_  KC7_\ H9?U
M?_&C_A7&O_\ 0R_J_P#C7944 <;_ ,*XU_\ Z&7]7_QH_P"%<:__ -#+^K_X
MUV5% '&_\*XU_P#Z&7]7_P :/^%<:_\ ]#+^K_XUV5% '&_\*XU__H9?U?\
MQH_X5QK_ /T,OZO_ (UV5% '&_\ "N-?_P"AE_5_\:/^%<:__P!#+^K_ .-=
ME10!QO\ PKC7_P#H9?U?_&C_ (5QK_\ T,OZO_C7944 <;_PKC7_ /H9?U?_
M !H_X5QK_P#T,OZO_C7944 <;_PKC7_^AE_5_P#&C_A7&O\ _0R_J_\ C794
M4 <;_P *XU__ *&7]7_QH_X5QK__ $,OZO\ XUV5% '&_P#"N-?_ .AE_5_\
M:/\ A7&O_P#0R_J_^-=E10!QO_"N-?\ ^AE_5_\ &C_A7&O_ /0R_J_^-=E1
M0!QO_"N-?_Z&7]7_ ,:/^%<:_P#]#+^K_P"-=E10!QO_  KC7_\ H9?U?_&C
M_A7&O_\ 0R_J_P#C7944 <;_ ,*XU_\ Z&7]7_QH_P"%<:__ -#+^K_XUV5%
M '&_\*XU_P#Z&7]7_P :/^%<:_\ ]#+^K_XUV5% '&_\*XU__H9?U?\ QH_X
M5QK_ /T,OZO_ (UV5% '&_\ "N-?_P"AE_5_\:/^%<:__P!#+^K_ .-=E10!
MQO\ PKC7_P#H9?U?_&C_ (5QK_\ T,OZO_C7944 <;_PKC7_ /H9?U?_ !H_
MX5QK_P#T,OZO_C7944 <;_PKC7_^AE_5_P#&C_A7&O\ _0R_J_\ C7944 <;
M_P *XU__ *&7]7_QH_X5QK__ $,OZO\ XUV5% '&_P#"N-?_ .AE_5_\:/\
MA7&O_P#0R_J_^-=E10!QO_"N-?\ ^AE_5_\ &C_A7&O_ /0R_J_^-=E10!QO
M_"N-?_Z&7]7_ ,:/^%<:_P#]#+^K_P"-=E10!QO_  KC7_\ H9?U?_&C_A7&
MO_\ 0R_J_P#C7944 <;_ ,*XU_\ Z&7]7_QH_P"%<:__ -#+^K_XUV5% '&_
M\*XU_P#Z&7]7_P :/^%<:_\ ]#+^K_XUV5% '&_\*XU__H9?U?\ QH_X5QK_
M /T,OZO_ (UV5% '&_\ "N-?_P"AE_5_\:/^%<:__P!#+^K_ .-=E10!QO\
MPKC7_P#H9?U?_&C_ (5QK_\ T,OZO_C7944 <;_PKC7_ /H9?U?_ !H_X5QK
M_P#T,OZO_C7944 <;_PKC7_^AE_5_P#&C_A7&O\ _0R_J_\ C7944 <;_P *
MXU__ *&7]7_QH_X5QK__ $,OZO\ XUV5% '&_P#"N-?_ .AE_5_\:/\ A7&O
M_P#0R_J_^-=E10!QO_"N-?\ ^AE_5_\ &C_A7&O_ /0R_J_^-=E10!QO_"N-
M?_Z&7]7_ ,:/^%<:_P#]#+^K_P"-=E10!QO_  KC7_\ H9?U?_&C_A7&O_\
M0R_J_P#C7944 <;_ ,*XU_\ Z&7]7_QH_P"%<:__ -#+^K_XUV5% '"ZMX)U
MS2=-FU&3Q 76%-Q56;)_6N;_ +1U#_G^F_[^FO2_&7_(KWO_ %Q_J*\NH [+
MX<?\A_4OQ_\ 0S795QOPX_Y#^I?C_P"AFNRH *KZKJ^E:%I\NK:WJ=O9VL*[
MIKF[F6..,>K,Q 'XU8KYO_;ILEL_'?PZ\<?$;PG?:[\-M&OKQ_%FGV<#31Q2
MO$%M[B>)?OQHV3SD !E_C 8 ]7^ _P =?#?QY\-7GB+01;1?9=6NK3[-%J"3
MNT<4S1I,=H!42!=P!'0]3UK7\6_%_P"$_@&_CTKQS\3O#^C74P!BMM4UF"WD
M8'H0KL#CWZ5Q?P&T?]D+Q/K3?%+]G;3/"ZWR6+6EQ+X=B6U:.%V5BLMNFW:2
M8U(+H&XX/6N9^-6I_L&_"/5_$'_"W-#\/3:]K,;7NI6MYIS7E_=F0$*(RP9D
MSC"A2JK@'Y>M 'N@U?23I7]NC4[<V/V?S_MGGKY7E;=WF;\XVXYSG&.:YA/V
M@_@'*XCC^-_A!F8X55\2VI)/I_K*\;_9U\#>-O"/_!//6-!\402_:+OPYK%Q
MIEAYOFR06TL4K11?+G).2V!TWXP#D#DO@)XO_8&T[P!X/\)_$[X>Z!IWB1M(
MM(;R\\1>"FA2>\$:B0FXDAV$[\DN6P>N: /KC5M7TK0=-FUC7-3M[*SMT+W%
MU=S+''$O]YF8@*/<UE>"_BC\-/B.)C\/OB#HFN?9B/M TC5(K@Q9Z;O+8[<]
ML]:\9_:>M;7XJ_M+?"SX >(!YWAR[-]K6MV!;]W>FWB)@1Q_$@=6RIX(;VK-
M_:+\"^#_ (&?''X2?%7X7^&;#09]0\81>'M7BTBT2WCO+6Z 7$B( K;<,0<9
MZ?W5P ?2M%%% !117E?[;O[4^@?L1_LG^.OVL/%/A6\US3_ NAOJ5WI.GS)'
M-=(KJNQ&?Y0?FZGTH ]4HK\[_#__  6I_;8\5Z#8^*/#G_!"#X]WFG:E9Q75
MA=PZOIQ2>&1 Z.O/0J01]:M_\/BOV\?^D!_Q_P#_  ;:=_C0!^@M%?GU_P /
MBOV\?^D!_P ?_P#P;:=_C1_P^*_;Q_Z0'_'_ /\ !MIW^- 'Z"T5^?7_  ^*
M_;Q_Z0'_ !__ /!MIW^-'_#XK]O'_I ?\?\ _P &VG?XT ?H+17Y]?\ #XK]
MO'_I ?\ '_\ \&VG?XT?\/BOV\?^D!_Q_P#_  ;:=_C0!^@M%?GU_P /BOV\
M?^D!_P ?_P#P;:=_C1_P^*_;Q_Z0'_'_ /\ !MIW^- 'Z"T5^?7_  ^*_;Q_
MZ0'_ !__ /!MIW^-'_#XK]O'_I ?\?\ _P &VG?XT ?H+17Y]?\ #XK]O'_I
M ?\ '_\ \&VG?XT?\/BOV\?^D!_Q_P#_  ;:=_C0!^@M%?GU_P /BOV\?^D!
M_P ?_P#P;:=_C1_P^*_;Q_Z0'_'_ /\ !MIW^- 'Z"T5^?7_  ^*_;Q_Z0'_
M !__ /!MIW^-'_#XK]O'_I ?\?\ _P &VG?XT ?H+17Y]?\ #XK]O'_I ?\
M'_\ \&VG?XT?\/BOV\?^D!_Q_P#_  ;:=_C0!^@M%?GU_P /BOV\?^D!_P ?
M_P#P;:=_C1_P^*_;Q_Z0'_'_ /\ !MIW^- 'Z"T5^?7_  ^*_;Q_Z0'_ !__
M /!MIW^-'_#XK]O'_I ?\?\ _P &VG?XT ?H+17Y]?\ #XK]O'_I ?\ '_\
M\&VG?XT?\/BOV\?^D!_Q_P#_  ;:=_C0!^@M%?GU_P /BOV\?^D!_P ?_P#P
M;:=_C1_P^*_;Q_Z0'_'_ /\ !MIW^- 'Z"T5^?7_  ^*_;Q_Z0'_ !__ /!M
MIW^-'_#XK]O'_I ?\?\ _P &VG?XT ?H+17Y]?\ #XK]O'_I ?\ '_\ \&VG
M?XT?\/BOV\?^D!_Q_P#_  ;:=_C0!^@M%?GU_P /BOV\?^D!_P ?_P#P;:=_
MC1_P^*_;Q_Z0'_'_ /\ !MIW^- 'Z"T5^?7_  ^*_;Q_Z0'_ !__ /!MIW^-
M'_#XK]O'_I ?\?\ _P &VG?XT ?H+17Y]?\ #XK]O'_I ?\ '_\ \&VG?XT?
M\/BOV\?^D!_Q_P#_  ;:=_C0!^@M%?GU_P /BOV\?^D!_P ?_P#P;:=_C1_P
M^*_;Q_Z0'_'_ /\ !MIW^- 'Z"T5^?7_  ^*_;Q_Z0'_ !__ /!MIW^-'_#X
MK]O'_I ?\?\ _P &VG?XT ?H+17Y]?\ #XK]O'_I ?\ '_\ \&VG?XT?\/BO
MV\?^D!_Q_P#_  ;:=_C0!^@M%?GU_P /BOV\?^D!_P ?_P#P;:=_C1_P^*_;
MQ_Z0'_'_ /\ !MIW^- 'Z"T5^?7_  ^*_;Q_Z0'_ !__ /!MIW^-'_#XK]O'
M_I ?\?\ _P &VG?XT ?H+17Y]?\ #XK]O'_I ?\ '_\ \&VG?XT?\/BOV\?^
MD!_Q_P#_  ;:=_C0!^@M%?GU_P /BOV\?^D!_P ?_P#P;:=_C1_P^*_;Q_Z0
M'_'_ /\ !MIW^- 'Z"T5^?7_  ^*_;Q_Z0'_ !__ /!MIW^-'_#XK]O'_I ?
M\?\ _P &VG?XT ?H+17Y]?\ #XK]O'_I ?\ '_\ \&VG?XT?\/BOV\?^D!_Q
M_P#_  ;:=_C0!^@M%?GU_P /BOV\?^D!_P ?_P#P;:=_C1_P^*_;Q_Z0'_'_
M /\ !MIW^- 'Z"T5^?7_  ^*_;Q_Z0'_ !__ /!MIW^-'_#XK]O'_I ?\?\
M_P &VG?XT ?H+17Y]?\ #XK]O'_I ?\ '_\ \&VG?XT?\/BOV\?^D!_Q_P#_
M  ;:=_C0!^@M%?GU_P /BOV\?^D!_P ?_P#P;:=_C1_P^*_;Q_Z0'_'_ /\
M!MIW^- 'Z"T5^?7_  ^*_;Q_Z0'_ !__ /!MIW^-'_#XK]O'_I ?\?\ _P &
MVG?XT ?H+17Y]?\ #XK]O'_I ?\ '_\ \&VG?XT?\/BOV\?^D!_Q_P#_  ;:
M=_C0!^@M%?GU_P /BOV\?^D!_P ?_P#P;:=_C1_P^*_;Q_Z0'_'_ /\ !MIW
M^- 'Z"T5^?7_  ^*_;Q_Z0'_ !__ /!MIW^-'_#XK]O'_I ?\?\ _P &VG?X
MT ?H+17Y]?\ #XK]O'_I ?\ '_\ \&VG?XT?\/BOV\?^D!_Q_P#_  ;:=_C0
M!^@M%?GU_P /BOV\?^D!_P ?_P#P;:=_C1_P^*_;Q_Z0'_'_ /\ !MIW^- '
MZ"T5^?7_  ^*_;Q_Z0'_ !__ /!MIW^-'_#XK]O'_I ?\?\ _P &VG?XT ?H
M+17Y]?\ #XK]O'_I ?\ '_\ \&VG?XT?\/BOV\?^D!_Q_P#_  ;:=_C0!^@M
M%?GU_P /BOV\?^D!_P ?_P#P;:=_C1_P^*_;Q_Z0'_'_ /\ !MIW^- 'Z"T5
M^?7_  ^*_;Q_Z0'_ !__ /!MIW^-'_#XK]O'_I ?\?\ _P &VG?XT ?H+17Y
M]?\ #XK]O'_I ?\ '_\ \&VG?XT?\/BOV\?^D!_Q_P#_  ;:=_C0!^@M%?GU
M_P /BOV\?^D!_P ?_P#P;:=_C1_P^*_;Q_Z0'_'_ /\ !MIW^- 'Z"T5^?7_
M  ^*_;Q_Z0'_ !__ /!MIW^-'_#XK]O'_I ?\?\ _P &VG?XT ?H+17Y]?\
M#XK]O'_I ?\ '_\ \&VG?XT?\/BOV\?^D!_Q_P#_  ;:=_C0!^@M%?GU_P /
MBOV\?^D!_P ?_P#P;:=_C1_P^*_;Q_Z0'_'_ /\ !MIW^- 'Z"T5^?7_  ^*
M_;Q_Z0'_ !__ /!MIW^-'_#XK]O'_I ?\?\ _P &VG?XT ?H+17Y]?\ #XK]
MO'_I ?\ '_\ \&VG?XT?\/BOV\?^D!_Q_P#_  ;:=_C0!^@M%?GU_P /BOV\
M?^D!_P ?_P#P;:=_C1_P^*_;Q_Z0'_'_ /\ !MIW^- 'Z"T5^?7_  ^*_;Q_
MZ0'_ !__ /!MIW^-'_#XK]O'_I ?\?\ _P &VG?XT ?H+17Y]?\ #XK]O'_I
M ?\ '_\ \&VG?XT?\/BOV\?^D!_Q_P#_  ;:=_C0!^@M%?GU_P /BOV\?^D!
M_P ?_P#P;:=_C1_P^*_;Q_Z0'_'_ /\ !MIW^- 'Z"T5^?7_  ^*_;Q_Z0'_
M !__ /!MIW^-'_#XK]O'_I ?\?\ _P &VG?XT ?H+17Y]?\ #XK]O'_I ?\
M'_\ \&VG?XT?\/BOV\?^D!_Q_P#_  ;:=_C0!^@M%?GU_P /BOV\?^D!_P ?
M_P#P;:=_C1_P^*_;Q_Z0'_'_ /\ !MIW^- 'Z"T5^?7_  ^*_;Q_Z0'_ !__
M /!MIW^-'_#XK]O'_I ?\?\ _P &VG?XT ?H+17Y]?\ #XK]O'_I ?\ '_\
M\&VG?XT?\/BOV\?^D!_Q_P#_  ;:=_C0!^@M%?GU_P /BOV\?^D!_P ?_P#P
M;:=_C1_P^*_;Q_Z0'_'_ /\ !MIW^- 'Z"T5^?7_  ^*_;Q_Z0'_ !__ /!M
MIW^-'_#XK]O'_I ?\?\ _P &VG?XT ?H+17Y]?\ #XK]O'_I ?\ '_\ \&VG
M?XT?\/BOV\?^D!_Q_P#_  ;:=_C0!^@M%?GU_P /BOV\?^D!_P ?_P#P;:=_
MC1_P^*_;Q_Z0'_'_ /\ !MIW^- 'Z"T5^?7_  ^*_;Q_Z0'_ !__ /!MIW^-
M'_#XK]O'_I ?\?\ _P &VG?XT ?H+17Y]?\ #XK]O'_I ?\ '_\ \&VG?XT?
M\/BOV\?^D!_Q_P#_  ;:=_C0!^@M%?GU_P /BOV\?^D!_P ?_P#P;:=_C1_P
M^*_;Q_Z0'_'_ /\ !MIW^- 'Z"T5^?7_  ^*_;Q_Z0'_ !__ /!MIW^-'_#X
MK]O'_I ?\?\ _P &VG?XT ?H+17Y]?\ #XK]O'_I ?\ '_\ \&VG?XT?\/BO
MV\?^D!_Q_P#_  ;:=_C0!^@M%?GU_P /BOV\?^D!_P ?_P#P;:=_C3_ G_!;
MSXO2?M)?#']GC]HG_@EA\5_A1_PM7Q.="\/>(?%>JV36WVD1-*PVQDLV%7)
M]: /T"HHHH S/&7_ "*][_UQ_J*\NKU'QE_R*][_ -<?ZBO+J .R^''_ "']
M2_'_ -#-=E7&_#C_ )#^I?C_ .AFNRH *\^^+W[2WPS^!>NV>D_%!-6T^ROK
M4RQZXFD2SV2L&*F)WB#%7Z'!7&"#FO0:P?BC\/M,^*WP]U?X<:SJ%U:VFLV3
MVMS/9,HE1&Z[2P(SCCD'K0!\X^ 6\"?%S]M/P[\6OV8?"]Q;>'].TB]3QKXA
MMM)DLK+4FDC988@KJGFR!RK$[><*<G8#7H/C?]K?]D>._P!:\(?%V^ALKW39
MYK2_TKQ%X=E9YT1F4,@\MEEC?&Y2"<@@X&:]DTO3K;1],MM)LP1#:P)#$#UV
MJH4?H*=/96=S(DUS:12/$<QL\8)0^H)Z4 ?-W[%-_>_![]G[Q;\1/%>A:QIO
MA&3Q/=ZCX8TF6TDEN;72V90K"(9;;R3@=E9QD-DT_P!J/]I_X#_'CX)ZG\(?
MA+J+>,_$GB)(X-&T?3M+G:2.7S%(F8NBB()C.20?PR1]15%#96=O*\]O:11O
M*<R.D8!<^Y'6@#YE^,FAZ]^S[XL^"OQS\507-_IG@[16T+QI?6L33&W62U6(
M7+!06*!S(Q..RCDL!4OC[XC^$OVO?CC\./"'P6OY-:T?PEXB3Q%XFUN&UD2V
MM3 ,P0[W4;G=LC:/4>C;?IH@,"K#(/4&H[6TM+&+[/96L<,8.0D2!1GZ"@"2
MBBB@ KY _P""_'_*&S]H3_LG\W_HZ*OK^OD#_@OQ_P H;/VA/^R?S?\ HZ*@
M#Z _9/\ ^36?AI_V3_1O_2&&N_K@/V3_ /DUGX:?]D_T;_TAAKOZ "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "O@#_@L#_R?;^P5
M_P!E_N__ $UR5]_U\ ?\%@?^3[?V"O\ LO\ =_\ IKDH ^_Z*** ,SQE_P B
MO>_]<?ZBO+J]1\9?\BO>_P#7'^HKRZ@#LOAQ_P A_4OQ_P#0S795QOPX_P"0
M_J7X_P#H9KLJ "BBB@ HHHH **** "BBB@ HHHH *^0/^"_'_*&S]H3_ +)_
M-_Z.BKZ_KY _X+\?\H;/VA/^R?S?^CHJ /H#]D__ )-9^&G_ &3_ $;_ -(8
M:[^N _9/_P"36?AI_P!D_P!&_P#2&&N_H **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH *^ /\ @L#_ ,GV_L%?]E_N_P#TUR5]_P!?
M '_!8'_D^W]@K_LO]W_Z:Y* /O\ HHHH S/&7_(KWO\ UQ_J*\NKU'QE_P B
MO>_]<?ZBO+J .R^''_(?U+\?_0S795QOPX_Y#^I?C_Z&:[*@ HHHH **** "
MBBB@ HHHH **** "OD#_ (+\?\H;/VA/^R?S?^CHJ^OZ^0/^"_'_ "AL_:$_
M[)_-_P"CHJ /H#]D_P#Y-9^&G_9/]&_](8:[^N _9/\ ^36?AI_V3_1O_2&&
MN_H **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH ***\@_:2_;$\$?L\7L'AV;1Y]9UJXA$W]GV\
MXB6&,D@-)(0VTG!P I/&3@8SS8K%X; T75KRY8KJ)M)79Z_17D'[-O[8G@C]
MHB]G\.PZ//HVM6\)F_L^XG$JS1 @%HY %W$9&05!YR,C./7Z,+B\-CJ*JT)<
MT7U!--704445TC"BBB@ HHHH **** "O@#_@L#_R?;^P5_V7^[_]-<E??]?
M'_!8'_D^W]@K_LO]W_Z:Y* /O^BBB@#,\9?\BO>_]<?ZBO+J]1\9?\BO>_\
M7'^HKRZ@#LOAQ_R']2_'_P!#-=E7&_#C_D/ZE^/_ *&:[*@ HHHH **** "B
MBB@ HHHH **** "OD#_@OQ_RAL_:$_[)_-_Z.BKZ_KY _P""_'_*&S]H3_LG
M\W_HZ*@#Z _9/_Y-9^&G_9/]&_\ 2&&N_K@/V3_^36?AI_V3_1O_ $AAKOZ
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "O@;_@HOX-O?#_[0,GB>>^BEAU[3H)H(EE!>'RD6
M%E*]0"4W ]#DXY!Q]G?&CXN^&/@C\/[SQ[XHERD"[+2U5@'NIR#LB7W..3V
M)[5\U_LI?"+Q/^TA\3KK]J/XTQ>?9I>%M(M)%/EW$R'"[5/_ "QBP !_$PY)
MVMGY3B6,<Q]GEM/6I)J7E%*Z<G][27_ OG/WO=.7_P"">/P>\;ZG\7[;XJS:
M5<6NBZ1;3_Z7-&52ZDDB:(1IG[^-Y8D<#:,\D5]ST45ZV3Y53R?!^PA+FUNW
MM=NW3ILBHQY58****]4H**** "BBB@ HHHH *^ /^"P/_)]O[!7_ &7^[_\
M37)7W_7P!_P6!_Y/M_8*_P"R_P!W_P"FN2@#[_HHHH S/&7_ "*][_UQ_J*\
MNKU'QE_R*][_ -<?ZBO+J .R^''_ "']2_'_ -#-=E7&_#C_ )#^I?C_ .AF
MNRH **** "BBB@ HHHH **** "BBB@ KY _X+\?\H;/VA/\ LG\W_HZ*OK^O
MD#_@OQ_RAL_:$_[)_-_Z.BH ^@/V3_\ DUGX:?\ 9/\ 1O\ TAAKOZX#]D__
M )-9^&G_ &3_ $;_ -(8:[^@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***R_&?C3PO\/?#5UX
MN\8ZQ#8:?9Q[Y[B8\#T '5F)X"C)).!4RE&$7*3LD!\X?MH?MH>-OA9XV/PK
M^%;6]I>6EO'+JFISVZRNCR*'6.-7!4?(58D@YW #&#D_8O\ VT/&WQ3\;#X5
M_%1K>[O+NWDETS4X+=8G=XU+M'(J *?D#," ,;2#G(QXO\0-%\>?MK_&K7?'
M'P;^'$YMTBB61IKA(P51!&C2.[!%D95'R \ =\%J=\,-(\5?L8?'[P_XF^.'
M@F6W@E@D"2Q3I*(DD4Q-*C1EE=D#'<F<X;W4U^:_VOFG]L?6N>7U;GM>SY.6
M]NUKVZ[W,.:7-?H?H315?2M5TW7-,M]9T>^BN;2ZA66VN(7#)(C#*L".H(-6
M*_2TTU=&X4444P"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "J^KZMIF@:
M5<ZWK5]';6EI TUS<3-A(XU&68GL !5BOD7]KOXR^)?CQ\1+;]E;X*N;F-KP
M1ZS<PO\ )/,IR8RPZ118+.>[+_L\^=FF8PRW#>T:O)Z1CUE)[+_,F3Y485U-
MXJ_X*#?M BTMFN;/P-X>;);&"D!/WO3SYMO _A4=]IS]F:%H>D>&=&M?#V@:
M?':65E L-K;0KA8T48"C\*YKX&_!KPS\"_A[:>!?#B!V0>9?WI3#W=P0-TC?
MD !V4 =LUV%891EU3"0E6Q#YJU363_**\E_70(JVKW"BBBO8*"BBB@ HHHH
M**** "BBB@ KX _X+ _\GV_L%?\ 9?[O_P!-<E??]? '_!8'_D^W]@K_ ++_
M '?_ *:Y* /O^BBB@#,\9?\ (KWO_7'^HKRZO4?&7_(KWO\ UQ_J*\NH [+X
M<?\ (?U+\?\ T,UV5<;\./\ D/ZE^/\ Z&:[*@ JOJNKZ5H6GRZMK>IV]G:P
MKNFN;N98XXQZLS$ ?C5BOF_]NFR6S\=_#KQQ\1O"=]KOPVT:^O'\6:?9P--'
M%*\06WN)XE^_&C9/.0 &7^,!@#U?X#_'7PW\>?#5YXBT$6T7V75KJT^S1:@D
M[M'%,T:3': 5$@7< 1T/4]:U_%OQ?^$_@&_CTKQS\3O#^C74P!BMM4UF"WD8
M'H0KL#CWZ5Q?P&T?]D+Q/K3?%+]G;3/"ZWR6+6EQ+X=B6U:.%V5BLMNFW:28
MU(+H&XX/6N9^-6I_L&_"/5_$'_"W-#\/3:]K,;7NI6MYIS7E_=F0$*(RP9DS
MC"A2JK@'Y>M 'O%G>6FH6D5_874<\$T8>&:%PR2*1D,I'!!'<5SR_&?X/OXK
M_P"$%3XJ>'#K7F^5_9(UJ#[3YF<;/+W[MW^SC/M7S7X/OOB3^SO_ ,$PM5UW
M4+N:SU%K:5M&07 >6PM[RZ2*+#*>& E,@QRI;L00.O\ &O[(?P8TS]CF^\/V
M/@+3(]6T[P@]]#KBV:"\-_';F7SC-C?EI!R,XVG;TP* /H+5M7TK0=-FUC7-
M3M[*SMT+W%U=S+''$O\ >9F("CW-97@OXH_#3XCB8_#[X@Z)KGV8C[0-(U2*
MX,6>F[RV.W/;/6OER/Q5>?M+W_[/GPO\?W#WNEZMH=QK7BBWE<E=2FM(2L?F
MC^)3)&Y8'@[SZ"NK_:+\"^#_ (&?''X2?%7X7^&;#09]0\81>'M7BTBT2WCO
M+6Z 7$B( K;<,0<9Z?W5P ?2M%%% !7R!_P7X_Y0V?M"?]D_F_\ 1T5?7]?(
M'_!?C_E#9^T)_P!D_F_]'14 ?0'[)_\ R:S\-/\ LG^C?^D,-=_7E_[*GBSP
MW#^R]\-H9=8A5D\ Z.K*3T(LH>*[[_A,?#'_ $&H/^^J -*BLW_A,?#'_0:@
M_P"^J/\ A,?#'_0:@_[ZH TJ*S?^$Q\,?]!J#_OJC_A,?#'_ $&H/^^J -*B
MLW_A,?#'_0:@_P"^J/\ A,?#'_0:@_[ZH TJ*S?^$Q\,?]!J#_OJC_A,?#'_
M $&H/^^J -*BLW_A,?#'_0:@_P"^J/\ A,?#'_0:@_[ZH TJ*S?^$Q\,?]!J
M#_OJC_A,?#'_ $&H/^^J -*BLW_A,?#'_0:@_P"^J/\ A,?#'_0:@_[ZH TJ
M*S?^$Q\,?]!J#_OJC_A,?#'_ $&H/^^J -*BLW_A,?#'_0:@_P"^J/\ A,?#
M'_0:@_[ZH TJ*S?^$Q\,?]!J#_OJC_A,?#'_ $&H/^^J -*BLW_A,?#'_0:@
M_P"^J/\ A,?#'_0:@_[ZH TJ*S?^$Q\,?]!J#_OJC_A,?#'_ $&H/^^J -*B
MLW_A,?#'_0:@_P"^J/\ A,?#'_0:@_[ZH TJ*S?^$Q\,?]!J#_OJC_A,?#'_
M $&H/^^J -*BLW_A,?#'_0:@_P"^J/\ A,?#'_0:@_[ZH TJ*S?^$Q\,?]!J
M#_OJC_A,?#'_ $&H/^^J -*BLW_A,?#'_0:@_P"^J/\ A,?#'_0:@_[ZH TJ
M*S?^$Q\,?]!J#_OJC_A,?#'_ $&H/^^J -*BLW_A,?#'_0:@_P"^J/\ A,?#
M'_0:@_[ZH TJ*S?^$Q\,?]!J#_OJC_A,?#'_ $&H/^^J -*BLW_A,?#'_0:@
M_P"^J/\ A,?#'_0:@_[ZH TJ*S?^$Q\,?]!J#_OJC_A,?#'_ $&H/^^J -*B
MLW_A,?#'_0:@_P"^J/\ A,?#'_0:@_[ZH TJ*S?^$Q\,?]!J#_OJC_A,?#'_
M $&H/^^J -*BLW_A,?#'_0:@_P"^J/\ A,?#'_0:@_[ZH TJ*S?^$Q\,?]!J
M#_OJC_A,?#'_ $&H/^^J -*BLW_A,?#'_0:@_P"^J/\ A,?#'_0:@_[ZH TJ
M*S?^$Q\,?]!J#_OJC_A,?#'_ $&H/^^J -*BLW_A,?#'_0:@_P"^J/\ A,?#
M'_0:@_[ZH TJ*S?^$Q\,?]!J#_OJC_A,?#'_ $&H/^^J -*BLW_A,?#'_0:@
M_P"^J/\ A,?#'_0:@_[ZH TJ*S?^$Q\,?]!J#_OJC_A,?#'_ $&H/^^J -*B
MLW_A,?#'_0:@_P"^J/\ A,?#'_0:@_[ZH TJ*S?^$Q\,?]!J#_OJC_A,?#'_
M $&H/^^J -*BLW_A,?#'_0:@_P"^J/\ A,?#'_0:@_[ZH TJ*S?^$Q\,?]!J
M#_OJC_A,?#'_ $&H/^^J -*BLW_A,?#'_0:@_P"^JY3XP?M(?#'X->$Y?$OB
M#64GF(*V.FVS9FNY/[JCL.F6/ 'O@'*M6I8>DZE25HK=L&TC;^*'Q3\%_![P
MC<>-/'.K+;6D(Q&@YDN),<1QK_$QQT[<DD $CY)L[#XR?\%#?B'_ &CJ3S:'
MX%TJYPJH<I%_LKGB:X(/+'A >P(#0>#?"?C[]M_XB#XD_&?7CI/A.SE*VEG$
MY4,F>8;<'UQ\\QZD8&<87Z^\,77PX\&:#:^%_"TEE8Z?91".VM;<85%_J3U)
M/))).2:^:C#$<1SYJEX89;+9U/-]H_G^6>L_0F^'OP[\(?"SPI;>#/!&CQV5
MA:K\J)RTC'J[MU9SW)_D!65\</@OX4^.W@.Y\$^*(MC-^\L+Y$!DM)P/ED7U
M]".X)'N-[_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZKZ.>&P\\.Z#BN2UK=+=B[
M*UCY._9J^,_BS]EKXD3_ +-7QVD\C2S<XTR_D8F*U9S\KJQ_Y=Y.N?X&))Q\
M^/L,$$9!R#T->,_M5?!OX??M"^"C%;:S:6WB'3D9]'OV. 3U,,AQS&W_ (Z<
M$=P?/_V,/VIKS39S^SY\;+I[34]-8V^CWEX>7"\?9G/]Y<?(W1EXZA=WS^"K
M5,EQ2P&(=Z4OX<G_ .D/S73^DH7NNS/J:BLW_A,?#'_0:@_[ZH_X3'PQ_P!!
MJ#_OJOIS0TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H
M/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BL
MW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_
MT&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:
M@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*
MS?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]
M!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H
M/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BL
MW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_
MT&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:
M@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^JXWXY_M'>!_@OX NO%D]_
M#>7A!CTO3D?YKF<C@>RCJQ[ >I .5>O2PU&56H[12NV#:1Q'[;G[3DGPF\-K
M\./ MV6\4ZW%M5H#E[&!OE\P8Y\QN50=1RW89N?L6_LR)\$?"!\5^++0'Q3K
M,(:[+C)LH3AA #_>S@N>[8'.T$^7_L=_#-OB'XYN?VHOCEJJ3WD]VTVC6]T/
M]9+T^T%?X43&V->V,C 52?JW_A,?#'_0:@_[ZKY_+*%7,L5_:6)5EM3B^D?Y
MGYR_+Y$17,^9FE16;_PF/AC_ *#4'_?5'_"8^&/^@U!_WU7TI9I45F_\)CX8
M_P"@U!_WU1_PF/AC_H-0?]]4 :5%9O\ PF/AC_H-0?\ ?5'_  F/AC_H-0?]
M]4 :5%9O_"8^&/\ H-0?]]4?\)CX8_Z#4'_?5 &E16;_ ,)CX8_Z#4'_ 'U1
M_P )CX8_Z#4'_?5 &E16;_PF/AC_ *#4'_?5'_"8^&/^@U!_WU0!I5\ ?\%@
M?^3[?V"O^R_W?_IKDK[M_P"$Q\,?]!J#_OJO@C_@KCK6E:M^W=^P:NG7R3%/
MC]=EPAZ9TR2@#]":*** ,SQE_P BO>_]<?ZBO+J]1\9?\BO>_P#7'^HKRZ@#
MLOAQ_P A_4OQ_P#0S795QOPX_P"0_J7X_P#H9KLJ "O/OB]^TM\,_@7KMGI/
MQ035M/LKZU,L>N)I$L]DK!BIB=X@Q5^AP5Q@@YKT&L'XH_#[3/BM\/=7^'&L
MZA=6MIK-D]K<SV3*)41NNTL",XXY!ZT ?./@%O GQ<_;3\._%K]F'PO<6WA_
M3M(O4\:^(;;29+*RU)I(V6&(*ZIYL@<JQ.WG"G)V UZ#XW_:W_9'CO\ 6O"'
MQ=OH;*]TV>:TO]*\1>'96>=$9E#(/+998WQN4@G((.!FO9-+TZVT?3+;2;,$
M0VL"0Q ]=JJ%'Z"G3V5G<R)-<VD4CQ',;/&"4/J">E 'QW\+?@CX^\?_ +#/
MQ+\(:1X=O['3M?UVYU'P#H.H!EF2SCFBGBC56Y4.8MJ@\$Y;HV3TOB+]M?X;
M^+?V:)O /AV6^NOB#JWAUM%3PA%ID_VN/4'A\AP5V8VJQ9\YY QUXKZDJ-;*
MS2Z:]6TB$S+M:81C<1Z$]<4 ?*'C'P#JO[*=Q\#OBSKVGSW&D^#-'FT;QI/9
M0M-]B^T0X\_" DQK*\A+ =E'5@*V?'WQ'\)?M>_''X<>$/@M?R:UH_A+Q$GB
M+Q-K<-K(EM:F 9@AWNHW.[9&T>H]&V_31 8%6&0>H-1VMI:6,7V>RM8X8P<A
M(D"C/T% $E%%% !7R!_P7X_Y0V?M"?\ 9/YO_1T5?7]?('_!?C_E#9^T)_V3
M^;_T=%0![U^RA86+?LM?#5FLHB3X T8DF,<_Z##7?_V=I_\ SXP_]^A7#?LG
M_P#)K/PT_P"R?Z-_Z0PUW] $/]G:?_SXP_\ ?H4?V=I__/C#_P!^A4U% $/]
MG:?_ ,^,/_?H4?V=I_\ SXP_]^A4U% $/]G:?_SXP_\ ?H4?V=I__/C#_P!^
MA4U% $/]G:?_ ,^,/_?H4?V=I_\ SXP_]^A4U% $/]G:?_SXP_\ ?H4?V=I_
M_/C#_P!^A4U% $/]G:?_ ,^,/_?H4?V=I_\ SXP_]^A4U% $/]G:?_SXP_\
M?H4?V=I__/C#_P!^A4U% $/]G:?_ ,^,/_?H4?V=I_\ SXP_]^A4U% $/]G:
M?_SXP_\ ?H4?V=I__/C#_P!^A4U% $/]G:?_ ,^,/_?H4?V=I_\ SXP_]^A4
MU% $/]G:?_SXP_\ ?H4?V=I__/C#_P!^A4U% $/]G:?_ ,^,/_?H4?V=I_\
MSXP_]^A4U% $/]G:?_SXP_\ ?H4?V=I__/C#_P!^A4U% $/]G:?_ ,^,/_?H
M4?V=I_\ SXP_]^A4U% $/]G:?_SXP_\ ?H4?V=I__/C#_P!^A4U% $/]G:?_
M ,^,/_?H4?V=I_\ SXP_]^A4U% $/]G:?_SXP_\ ?H4?V=I__/C#_P!^A4U%
M $/]G:?_ ,^,/_?H4?V=I_\ SXP_]^A4U% $/]G:?_SXP_\ ?H4?V=I__/C#
M_P!^A4U% $/]G:?_ ,^,/_?H4?V=I_\ SXP_]^A4U% $/]G:?_SXP_\ ?H4?
MV=I__/C#_P!^A4U% $/]G:?_ ,^,/_?H4?V=I_\ SXP_]^A4U% $/]G:?_SX
MP_\ ?H4?V=I__/C#_P!^A4U% $/]G:?_ ,^,/_?H4?V=I_\ SXP_]^A4U% $
M/]G:?_SXP_\ ?H4?V=I__/C#_P!^A4U% $/]G:?_ ,^,/_?H4?V=I_\ SXP_
M]^A4U% $/]G:?_SXP_\ ?H4?V=I__/C#_P!^A4U% $/]G:?_ ,^,/_?H4?V=
MI_\ SXP_]^A4U% $/]G:?_SXP_\ ?H4?V=I__/C#_P!^A4U% $/]G:?_ ,^,
M/_?H4?V=I_\ SXP_]^A4U% $/]G:?_SXP_\ ?H4?V=I__/C#_P!^A4U% $/]
MG:?_ ,^,/_?H4?V=I_\ SXP_]^A4U% $/]G:?_SXP_\ ?H4?V=I__/C#_P!^
MA4U% $/]G:?_ ,^,/_?H4?V=I_\ SXP_]^A4U% $/]G:?_SXP_\ ?H4?V=I_
M_/C#_P!^A4U% $/]G:?_ ,^,/_?H4?V=I_\ SXP_]^A4U>/?M2_M;>%_V?M)
M;1=+\G4?%%S%FTT[=E;<'I+-CD+W"]6]AEAS8O%X? T'6K2M%?U\V)M)79I_
MM&_M#?#O]GCPW]KU:TM[S6+J,_V7HT04/,>F]SCY(P>K=^@!->"_ _\ 9S\?
M?M5^,!\>/VA998]%E8/I^F*IB^UQ@Y5(U'^JMQZ_>?D@\EZUOV<OV3?%?Q9\
M2_\ #0/[3KSWDMY(+BRT>^'S3_W7F7HD8&-L6!D 9 7Y6^L8XTB18HD"JH 5
M5& !Z"O HX7$Y[56(QBY:*UA3[_WI_HOZ<).>KV*EAX?T'2K&'3-,T6TM[>W
MC$<$$-NJI&@& H &  .U3?V=I_\ SXP_]^A4U%?3I)*R-"'^SM/_ .?&'_OT
M*/[.T_\ Y\8?^_0J:BF!#_9VG_\ /C#_ -^A7@G[9_[**_%#2/\ A9GPUL1!
MXITJ,,T5J-C:A$G(48_Y:KCY#U.-O]W'T#17)CL%0S##2H5EH_O3Z->:$TFK
M,\$_8R_:8TSXSZ"? GCB*"+Q9I46)?,B53?Q+QYH&/OCHZ^OS#@D+[K_ &=I
M_P#SXP_]^A7R[^V5^SEKW@[Q O[4'P.\RSU'3Y_M6M6]FO*L.MTBCJ.OF+T(
M)8C[]>N_LP_M&Z#^T-X&75(_+MM;L56/6M.5O]6Y'$B9Y,;8)'H<J>F3Y65X
MVO1KO+\8_P!Y'X9?SQ[^JZ_\.3%M/E9Z+_9VG_\ /C#_ -^A1_9VG_\ /C#_
M -^A4U%?0%D/]G:?_P ^,/\ WZ%']G:?_P ^,/\ WZ%344 0_P!G:?\ \^,/
M_?H4?V=I_P#SXP_]^A4U% $/]G:?_P ^,/\ WZ%']G:?_P ^,/\ WZ%344 0
M_P!G:?\ \^,/_?H4?V=I_P#SXP_]^A4U% $/]G:?_P ^,/\ WZ%']G:?_P ^
M,/\ WZ%344 0_P!G:?\ \^,/_?H4?V=I_P#SXP_]^A4U% $/]G:?_P ^,/\
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
M*^CW-*BBBO9*"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH *^<?VYOVD[[PM9I\"/AE-)-XCUM5BOGM,
MM);0R<+$N.?-DS@=PISU937HW[3_ .T'H_[/GP]DUQS'/K%Z&AT2P<_ZV7'+
ML.NQ,@GUX7(+"O)OV'OV>]8U349/VG/BZ)+K5]5D>?1DNQE@'SNNF!_B;)"#
MH%Y'5<?.YMBJV)KK+<*[3EK.7\D?\WT_X*9$FV^5'HW[(O[-EC\ / 8DU:&.
M3Q'JJ+)J]RN#Y0ZK;H?[JYY(^\V3T"X];HHKVL)A:."P\:-)6C'^OO?4I))6
M"BBBN@84444 %%%% !1110 4444 %%%% !1110 5\ ?\%@?^3[?V"O\ LO\
M=_\ IKDK[_KX _X+ _\ )]O[!7_9?[O_ --<E 'W_1110!F>,O\ D5[W_KC_
M %%>75ZCXR_Y%>]_ZX_U%>74 =E\./\ D/ZE^/\ Z&:[*N-^''_(?U+\?_0S
M794 %%%% !1110 4444 %%%% !1110 5\@?\%^/^4-G[0G_9/YO_ $=%7U_7
MR!_P7X_Y0V?M"?\ 9/YO_1T5 'T!^R?_ ,FL_#3_ +)_HW_I##7?UP'[)_\
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
M^_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\
MA,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_
M +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J
M/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,
M?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/
M^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[Z
MH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\
MA,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_
M +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J
M/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,
M?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/
M^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[Z
MH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\
MA,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_
M +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J
M/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,
M?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/
M^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[Z
MH_X3'PQ_T&H/^^J -*O+OVEOVH_!W[/'A_;<%+_7[N(G3='23D]O-E(^Y&#^
M+$8'<C _:>_;.\)?!G2&T#P9/!JWB>YC_<6PR8K,$<22XZGN$')[X')\T_9L
M_9P3QGXC/QX_:=UL7VHW<PN+31[]MS.W\,EP,8 '&V'H !D #;7S^/S.O5KO
M!8#6I]J7V8+N_/LO^&(<FW:)%\!OV:/'?[2OBT?M _M+7,\MA<L)-.TN7*&[
M0'*#;_RRMQV4<OUZ'+?7EI:6FGVD5A86L<$$,82&&% J1J!@* .  . !5 >,
M/"Z@*NLP #H :7_A,?#'_0:@_P"^J[LMRRAEM)J.LI:RD]Y/N_T0XQ432HK-
M_P"$Q\,?]!J#_OJC_A,?#'_0:@_[ZKTBC2HK-_X3'PQ_T&H/^^J/^$Q\,?\
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
M]!J#_OJ@#2KX _X+ _\ )]O[!7_9?[O_ --<E?=O_"8^&/\ H-0?]]5\$?\
M!7'6M*U;]N[]@U=.ODF*?'Z[+A#TSIDE 'Z$T444 9GC+_D5[W_KC_45Y=7J
M/C+_ )%>]_ZX_P!17EU '9?#C_D/ZE^/_H9KLJXWX<?\A_4OQ_\ 0S794 %>
M??%[]I;X9_ O7;/2?B@FK:?97UJ98]<32)9[)6#%3$[Q!BK]#@KC!!S7H-8/
MQ1^'VF?%;X>ZO\.-9U"ZM;36;)[6YGLF42HC==I8$9QQR#UH ^<? +>!/BY^
MVGX=^+7[,/A>XMO#^G:1>IXU\0VVDR65EJ321LL,05U3S9 Y5B=O.%.3L!K'
M_:'_ &H?A1\7/C->_ 3XD_$5O"_@+PS?%/$J_9;AKGQ#=Q2$&U7R48QVZ.OS
M,<%B!CL1]>Z7IUMH^F6VDV8(AM8$AB!Z[54*/T%3T >:^#?VEO@%K'PNU+QM
M\,]<;4/#_A:*."[CTG2)P;6,!0JI$8U8JJX.%!PH/I7D_P"U'^T_\!_CQ\$]
M3^$/PEU%O&?B3Q$D<&C:/IVESM)'+YBD3,711$$QG)(/X9(^HJBALK.WE>>W
MM(HWE.9'2, N?<CK0!\R_&30]>_9]\6?!7XY^*H+F_TSP=HK:%XTOK6)IC;K
M):K$+E@H+% YD8G'91R6 J7Q]\1_"7[7OQQ^''A#X+7\FM:/X2\1)XB\3:W#
M:R);6I@&8(=[J-SNV1M'J/1MOTT0&!5AD'J#4=K:6EC%]GLK6.&,'(2) HS]
M!0!)1110 5\@?\%^/^4-G[0G_9/YO_1T5?7]?('_  7X_P"4-G[0G_9/YO\
MT=%0![U^RA86+?LM?#5FLHB3X T8DF,<_P"@PUW_ /9VG_\ /C#_ -^A7#?L
MG_\ )K/PT_[)_HW_ *0PUW] $/\ 9VG_ //C#_WZ%']G:?\ \^,/_?H5-10!
M#_9VG_\ /C#_ -^A1_9VG_\ /C#_ -^A4U% $/\ 9VG_ //C#_WZ%']G:?\
M\^,/_?H5-10!#_9VG_\ /C#_ -^A1_9VG_\ /C#_ -^A4U% $/\ 9VG_ //C
M#_WZ%']G:?\ \^,/_?H5-10!#_9VG_\ /C#_ -^A1_9VG_\ /C#_ -^A4U%
M$/\ 9VG_ //C#_WZ%']G:?\ \^,/_?H5-10!#_9VG_\ /C#_ -^A1_9VG_\
M/C#_ -^A4U% $/\ 9VG_ //C#_WZ%']G:?\ \^,/_?H5-10!#_9VG_\ /C#_
M -^A1_9VG_\ /C#_ -^A4U% $/\ 9VG_ //C#_WZ%']G:?\ \^,/_?H5-10!
M#_9VG_\ /C#_ -^A1_9VG_\ /C#_ -^A4U% $/\ 9VG_ //C#_WZ%']G:?\
M\^,/_?H5-10!#_9VG_\ /C#_ -^A1_9VG_\ /C#_ -^A4U% $/\ 9VG_ //C
M#_WZ%']G:?\ \^,/_?H5-10!#_9VG_\ /C#_ -^A1_9VG_\ /C#_ -^A4U%
M$/\ 9VG_ //C#_WZ%']G:?\ \^,/_?H5-10!#_9VG_\ /C#_ -^A1_9VG_\
M/C#_ -^A4U% $/\ 9VG_ //C#_WZ%']G:?\ \^,/_?H5-10!#_9VG_\ /C#_
M -^A1_9VG_\ /C#_ -^A4U% $/\ 9VG_ //C#_WZ%']G:?\ \^,/_?H5-10!
M#_9VG_\ /C#_ -^A1_9VG_\ /C#_ -^A4U% $/\ 9VG_ //C#_WZ%']G:?\
M\^,/_?H5-10!#_9VG_\ /C#_ -^A1_9VG_\ /C#_ -^A4U% $/\ 9VG_ //C
M#_WZ%']G:?\ \^,/_?H5-10!#_9VG_\ /C#_ -^A1_9VG_\ /C#_ -^A4U%
M$/\ 9VG_ //C#_WZ%']G:?\ \^,/_?H5-10!#_9VG_\ /C#_ -^A1_9VG_\
M/C#_ -^A4U% $/\ 9VG_ //C#_WZ%']G:?\ \^,/_?H5-10!#_9VG_\ /C#_
M -^A7SW^UA^UWI/PXFD^%GPCL;?4O%EPP@EEAMQ*NGLW 4* ?,FR>$Y /7/W
M3E_M1?MCZK<ZR?@9^SF9=0UV\E^RW>JZ>-YB<\&&WQUDZYDZ)SCGE>H_9/\
MV.-*^#4*>/?'XBU'Q;<*7+L=\>G[NJH3]Z0Y.Z3ZA>,EOF\5C\3F5=X/+W9+
MXZG2/E'O+\OQ4.3D[1,/]E/]C!_#5XGQ?^.L?]H^)+E_M%MI]VWFBS=CGS)2
M<[YN_<)[MROT9_9VG_\ /C#_ -^A4U%>O@,!ALNPZI45IU?5ONWU922BM"'^
MSM/_ .?&'_OT*/[.T_\ Y\8?^_0J:BNT9#_9VG_\^,/_ 'Z%']G:?_SXP_\
M?H5-10!#_9VG_P#/C#_WZ%']G:?_ ,^,/_?H5-10!#_9VG_\^,/_ 'Z%']G:
M?_SXP_\ ?H5-10!#_9VG_P#/C#_WZ%']G:?_ ,^,/_?H5-10!#_9VG_\^,/_
M 'Z%']G:?_SXP_\ ?H5-10!#_9VG_P#/C#_WZ%']G:?_ ,^,/_?H5-10!#_9
MVG_\^,/_ 'Z%']G:?_SXP_\ ?H5\^?MI?\%&_AA^QYJ5IX.N/#EUXD\37=L+
MG^R+2Z6".WA)(5YIBK;"Q!VJ%8X&3@$$G[%O_!1OX8?MAZG=>#K?PY<^&_$U
MI;&Y_LB[NEGCN800&>&4*N\J2-RE5.#D9 8C'V]'VGL[ZGK_ -@9Q_9OU_V+
M]E_-IMWM>]O.UCZ#_L[3_P#GQA_[]"C^SM/_ .?&'_OT*FHK8\@A_L[3_P#G
MQA_[]"C^SM/_ .?&'_OT*FHH A_L[3_^?&'_ +]"C^SM/_Y\8?\ OT*FHH A
M_L[3_P#GQA_[]"C^SM/_ .?&'_OT*FHH A_L[3_^?&'_ +]"C^SM/_Y\8?\
MOT*FHH A_L[3_P#GQA_[]"O._P!I/]F[PO\ '[P(^BM!!9ZO:!I-&U(1@&*3
M'W'P,F-L $=N".0*]*HK'$8>CBZ$J-57C+1H32:LSY._8\^/6I^ _%#_ ++_
M ,=K(6E_97'V;1;J]491^ULS'JI&#&W0@A02"E?5?]G:?_SXP_\ ?H5XI^V5
M^RO!\;?#W_"9^#;=(O%>E0YMV4[?M\2\^2Q[,.2C=CP>#D9W[%?[4\_Q*L#\
M)?B7<M#XKTE#'%)=#:]_&G!R#SYR8PPZD#=_>QX&7XBME>)678IW3_AS?5?R
MOS7X_=>8MQ?*SWS^SM/_ .?&'_OT*/[.T_\ Y\8?^_0J:BOI2R'^SM/_ .?&
M'_OT*/[.T_\ Y\8?^_0J:B@"'^SM/_Y\8?\ OT*/[.T__GQA_P"_0J:B@"'^
MSM/_ .?&'_OT*/[.T_\ Y\8?^_0J:B@"'^SM/_Y\8?\ OT*/[.T__GQA_P"_
M0J:B@"'^SM/_ .?&'_OT*/[.T_\ Y\8?^_0J:B@"'^SM/_Y\8?\ OT*/[.T_
M_GQA_P"_0J:B@"'^SM/_ .?&'_OT*Y#XX_%/P5\"_A[=^.O$=I YC'EV%F%4
M/=W!!V1KQ[$D]E!/;%=7KFN:3X:T:Z\0Z]J$=K964#375S,V%C11DL?PKXRM
MXO%7_!0;]H$W,ZW-GX&\/M@#."D!/3T\^8KS_=4=]@SX^;YC/"0C1H*]:II%
M?G)^2_KJ3*5MMS:_9#^"OB#X\?$&Z_:C^,UN)X&O&DT>TDCQ'/,IP'"GI%%@
M*H[LO^R<_6_]G:?_ ,^,/_?H4S2-(TS0-*MM#T6QCM;.S@6&UMX5PD<:C"J!
MV  JS6^5Y=#+<-[-.\GK*764GN_\@C'E1#_9VG_\^,/_ 'Z%']G:?_SXP_\
M?H5-17HE$/\ 9VG_ //C#_WZ%']G:?\ \^,/_?H5-10!#_9VG_\ /C#_ -^A
M1_9VG_\ /C#_ -^A4U% $/\ 9VG_ //C#_WZ%']G:?\ \^,/_?H5-7B'[='[
M9GA;]CWX5OK;>1>^*-55X?#.CNW^ME YGD Y$,>06_O$JH(W9'3@\)B,?B8X
M>A&\I.R7]=.[Z(QQ&(HX6C*K5=HK<\V_X*8_MPV/[//AH?!CX1^3/X_\00!%
M>VB#OI%N_P HEP!_KWZ1KU'WST4-8_X)J_L#P?L[^$S\6OBWIB7/CW7X-TL=
MT YTBW?YO)!.?WS=9&_X . Q;S[_ ()I?L9^*?&_BE_VYOVGO.U'7=8N#?>&
M;74ER^YN1?R*>AQ@0K@!5 <#_5D?>-?39OB\/E&#>48*5W_R]FOM27V5_=C^
M/WW\3+\/6S#$+,,2K?\ /N+^ROYGYO\ KI:'^SM/_P"?&'_OT*/[.T__ )\8
M?^_0J:BOD#Z$A_L[3_\ GQA_[]"C^SM/_P"?&'_OT*FHH A_L[3_ /GQA_[]
M"C^SM/\ ^?&'_OT*FHH A_L[3_\ GQA_[]"C^SM/_P"?&'_OT*FHH A_L[3_
M /GQA_[]"C^SM/\ ^?&'_OT*FHH A_L[3_\ GQA_[]"C^SM/_P"?&'_OT*FH
MH A_L[3_ /GQA_[]"O@/_@KY;6\'[=O[!9@MT3/Q_N\[$ S_ ,2N2OT"KX _
MX+ _\GV_L%?]E_N__37)0!]_T444 9GC+_D5[W_KC_45Y=7J/C+_ )%>]_ZX
M_P!17EU '9?#C_D/ZE^/_H9KLJXWX<?\A_4OQ_\ 0S794 %%%% !1110 444
M4 %%%% !1110 5\@?\%^/^4-G[0G_9/YO_1T5?7]?('_  7X_P"4-G[0G_9/
MYO\ T=%0!] ?LG_\FL_#3_LG^C?^D,-=_7 ?LG_\FL_#3_LG^C?^D,-=_0 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 445!JFJ:;HFFSZQK%_#:VEM$TEQ<W$@1(T R6
M8G@ #O2;25V!+++%;Q-//*J(BEG=VP% ZDGL*^2_VB/VJ_%_QJ\3_P##/O[,
M44]W]L<P7^KV9PUR.CK$W\$(&=TI(R,X(7ELSXR_'WXD?M?^-#\"?V>K2>/0
MF8C4-0;=']JC!PTDK8S' .R_>?C()(0?0G[._P"S=X)_9Y\,?V=HD8N]5N4'
M]J:Q+&!)<-UVK_<C!Z*/J<GFOF*V*Q.>U7A\&W&BM)5/YO[L/U?Z;YMN>BV,
MC]EW]D[PK^SYHPU.\\K4?$UU%B^U39\L(/6*'/*IZGJW4X&%'KE%%?087"8?
M!4%1HQM%?U]Y:22L@HHHKH&%%%% !1110 4444 %%%% !1110 44C,JJ69@
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
M9!*KC]3J,/7CB*?,E8.(<BK</9A]5J24KI236ET[K;H[I]6%%%%;GA!1110
M4444 %%%% !7P!_P6!_Y/M_8*_[+_=_^FN2OO^O@#_@L#_R?;^P5_P!E_N__
M $UR4 ??]%%% &9XR_Y%>]_ZX_U%>75ZCXR_Y%>]_P"N/]17EU '9?#C_D/Z
ME^/_ *&:[*N-^''_ "']2_'_ -#-=E0 4444 %%%% !1110 4444 %%%% !7
MR!_P7X_Y0V?M"?\ 9/YO_1T5?7]?('_!?C_E#9^T)_V3^;_T=%0!] ?LG_\
M)K/PT_[)_HW_ *0PUW]<!^R?_P FL_#3_LG^C?\ I##7?T %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 51\1^)?#_A#1;CQ'XIUFWT^PM4W7%W=2A$0=.2>Y. !U)( J]7RS_P
M5%NM=C\&^%+2UN2NFRZC<F\B#XWS*B>42.^ 9?IFO/S7&O+LOJ8A1NXK;U:7
MZZDR?*KGKNC_ +7W[-FO0WD^G?%G3L6$#2W N4E@8JO78)44R'V3)/85\Z>-
M_B)\7/V^/'Y^&_PQMIM*\&V4RO=W$P(4J#Q-<$?>8XRD(/7GL6'S7X?T+4_$
M^NV?AS1;5Y[N_NDM[:&,9+N[!0!^)K]2?AI\,O!GPC\)6_@OP-I"6EG ,L>L
MDSXYDD;JSG')^@&  !\GEV,S#BJ+IUFH4H_%RW3E?:.M[+377_@9Q<JFYG?!
M7X(>!O@1X03PIX,L<,V&OK^4 S7D@'WW/YX4<*.G<GL***^XHT:6'I*G35HK
M9(V2L%%%%: %%%% !1110 4444 %%%% !1576]<T7PUI4^O>(]8M=/L;6,R7
M-[>W"Q10H.K,[$!1[DU\B?M&?\%C/@C\.9)O#'P+TF7QSK6XQI=QEH=.C?H/
MWA&^?GLB[6[/6=2M3I*\W8]++<HS+-JOL\)2<GU?1>K>B^;/L&[N[6PM9+Z^
MN8X884+RS2N%5% R6)/  '<U\K_M(_\ !7']G'X,?:-!^',S>.M<CROEZ1.%
ML8F_V[H@AO\ MD']"17@UI^SU_P4D_X*)74>L_'CQ7-X)\&S.)(M.NX'MHMF
M<@Q6"D/*1U#SL.#PYZ5]4?LW?\$W/V8_V;_L^L:;X3_X2'7X<-_;_B)5GDC<
M=X8\>7#@]"J[P."QKG]KB*W\-<J[O]$?0_V9P[DFN85O;U5_R[IOW5Y2G^:6
MJ/E1?#'_  4U_P""DC";Q+>-X%\!79SY,B26-I+$?2+)GO,CD%R8R1P5KZ1_
M9N_X)6_LR_ 7[/K?B#1CXTU^+#?VEX@A5H(G'>*VYC7G!!?>P/1A7TO15PPM
M.,N:7O/NSBQW%688BC]7PJ5"C_+3TOZRW;[[)]A$1(T$<:!54850, #TI:**
MZ3YD**** ,[Q=X0\+^/?#5[X.\::#:ZII>H0&&]L+V$/',A[$'\P>H(!'(K\
M[OC[^Q_\?/\ @G9\0)?VFOV.=:O;SPK&2^K:0^Z=[.#.6BN(_P#EXMO23[\?
M4D%?,/Z14CHDB&.10RL,,I&016-:A&LNS6S['M9-GF*R>;44ITI:3A+6,E^C
M[/\ -:'AW[&/[=_PK_; \-B'2Y4TCQ79P!M6\-7,P+J. 986X\Z+/<#*Y 8#
M()]RKX7_ &S?^"96NZ%XD/[2G[$<LVA^(]/G-Y<>&]+E\G>XR3+9$8"/US!]
MU@2%Q]QNL_83_P""F^B?&NZ@^"W[021>'O'L$GV6*>>/R(-5E4[2NTX\BXR,
M&(X#-]S!.P94Z\H3]G6T?1]'_P $]3,,CPN,PKS#)VY4E\<'\=/U[Q[/MO>S
M9]>4445UGR(4444 %%%% !1110 4444 0ZEINGZQI\^DZK917-K<PM%<6\R!
MDD1AAE8'@@@XQ7QAX[\*^-_V OC3%\0_ L4U[X+UF;RY;5G)4IDDVTA[.O+1
MN>H'?YP?M6LCQWX&\,_$GPG>^"O%^FK=:??PF.>)NH[AE/\ "RG!![$ UY.:
MY;]?IJ=-\M6&L)=GV?D^I,HW$\ ^//#'Q,\(V7C?P?J*W5A?Q!XG'53T*,/X
M64Y!'8BMBOBGP7XE\;_\$_OC5+X$\:23WW@K6IO,BN50E63( N4':1!A9$'4
M =?D-?9^EZIIVMZ;!K&D7L5S:W4*RVUQ"X9)$895E(Z@@YHRK,OK]-PJ+EJP
MTG'L^Z\GT",KHGHHHKUB@HHHH **** "BBLWQ?XM\/\ @3PS>^,/%.HI::?I
M]N9KJ=_X5'8#N2<  <DD <FIE*,(N4G9(#D_VC/CQH'[/_P[G\5ZCLGOY\PZ
M/IY;FYGQQGN$7[S'L..I /B/[%/P'U_QYXFF_:I^,N^[OKZX:?0X[I>7<GFZ
M*]@/NQCH ,@ !#7+^ ?#GBG]OGX]W'Q#\9VTUMX+T.4)%:%B%\L'*6RD=7?A
MI&'0'&1E*^T+6UM;&UCL;*W2&&&,)#%$@544# 4 <  <8KYG"1EGN-6,J+]S
M3?[M?S/^=_I_P]\U[[OT)****^H- HHHH **** "BBB@!ES<V]G;R7=W.D44
M2%Y99&"JB@9))/  '.:_-?\ :=^-?Q&_X*=_M#V?[*_[.ET\?@?2KLRZAJVU
MO)N?+.)+Z7'_ "Q3.(D_C9@>K*$Z[_@H_P#M@>,/C-X[C_80_99\W4=0U.[^
MQ>)[S3WYGD_BL4<<+&H!,SYP I4D!9 ?IK]BC]D#P?\ L?\ PGB\):9Y5YKV
MH!)_$NM*F#=S@<(I/(B3)5%]RQ&6-?:8&E2X:P,<PQ"OB)K]U%_97_/R2_\
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
M;YMWW9YN9<39GF%+V$6J='I""Y8V\[:OYZ>04445T'SP4444 %%%% !1110
M4444 %?,'[=?_!-OP-^U%:S_ !!\ &V\/^/88]R:@J[;?4RH^5+D*,AN !,
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
M HHHH **** "BBB@ HHHH *^0/\ @OQ_RAL_:$_[)_-_Z.BKZ_KY _X+\?\
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
M/2O@[]K#_@IQXR^)OBO_ (9O_8.TZ[U;5M0E-K-XGL(2\DAZ,MF#T &<W#8
M ++@ 25PGC?XQ?M7_P#!6+QY/\+O@MH]QX8^&]G<*-1GG<K%L!R'O)%_ULAZ
MK;)D X)SM\P?:O[)W[&'P>_9%\*?V5X$TW[9K%U$%U?Q)>Q@W5X>I4?\\HL]
M(UXX!)9LL?FW4J8IVIZ1[]_0_1(8#+>%X*MF*57$[QI7O&/9U'_[;_PZ\=_8
MB_X)=>&?@U>0?&']H6:'Q/XXED^U1V\S^=:Z9,3NWY;_ %\^3DR-P&^Z,@.?
MKZBBNFE2A1CRQ1\QF>:8[-\2Z^*GS/IV2[)=%_3U"BBBM#SPHHKX"_X*@_\
M!4'XJ?L__%1OV?OV?GL]/U+3[.&?7M>N[-+B2.25!)'#%'(#&,1LC,S*V=X
M VDGHPN%JXRK[.GN5&+D[(^_:*^ O^"7W_!4+XJ?M ?%1?V??V@GL]0U+4;.
M:?0=>M+-+>222%#))#+'&!&08U=E957&P@AMP*_?M&*PM7"5?9U-PE%Q=F%%
M%%<Y(4444 %%%% !1110 5\ ?\%@?^3[?V"O^R_W?_IKDK[_ *^ /^"P/_)]
MO[!7_9?[O_TUR4 ??]%%% &9XR_Y%>]_ZX_U%>75ZCXR_P"17O?^N/\ 45Y=
M0!V7PX_Y#^I?C_Z&:[*N-^''_(?U+\?_ $,UV5 !5?5=7TK0M/EU;6]3M[.U
MA7=-<W<RQQQCU9F( _&K%?-_[=-DMGX[^'7CCXC>$[[7?AMHU]>/XLT^S@::
M.*5X@MO<3Q+]^-&R><@ ,O\ & P!ZO\  ?XZ^&_CSX:O/$6@BVB^RZM=6GV:
M+4$G=HXIFC28[0"HD"[@".AZGK6QXM^+OPI\ WT>E^.?B;X?T:YF ,5OJNLP
M6\C@]PLC D>]<5\!M'_9"\3ZTWQ2_9VTSPNM\EBUI<2^'8EM6CA=E8K+;IMV
MDF-2"Z!N.#UJYXP_9V_9ELK+Q-XZ\??#70[@:@D]]K^KZO;B>55"DNRR29:$
M*HX$97&!CF@#T:TN[2_M8[ZQN8YH)D#PS0N&1U(R&!'!!'<5SR_&?X/OXK_X
M05/BIX<.M>;Y7]DC6H/M/F9QL\O?NW?[.,^U?+'PF\9^//A'_P $N=>\:0WE
MY;2-)<)X:DE<B6WM;BZCMT93U4AI)'4CU!'&*]"\:_LA_!C3/V.;[P_8^ M,
MCU;3O"#WT.N+9H+PW\=N9?.,V-^6D'(SC:=O3 H ^@M6U?2M!TV;6-<U.WLK
M.W0O<75W,L<<2_WF9B H]S65X+^*/PT^(XF/P^^(.B:Y]F(^T#2-4BN#%GIN
M\MCMSVSUKY<C\57G[2]_^SY\+_']P][I>K:'<:UXHMY7)74IK2$K'YH_B4R1
MN6!X.\^@KJ_VB_ O@_X&?''X2?%7X7^&;#09]0\81>'M7BTBT2WCO+6Z 7$B
M( K;<,0<9Z?W5P ?2M%%% !7R!_P7X_Y0V?M"?\ 9/YO_1T5?7]?('_!?C_E
M#9^T)_V3^;_T=%0!] ?LG_\ )K/PT_[)_HW_ *0PUW]>7_LJ>+/#</[+WPVA
MEUB%63P#HZLI/0BRAXKOO^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3
M'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#
M'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH
M TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q
M\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_
M $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J
M-*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3
M'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#
M'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH
M TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q
M\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J -*BLW_A,?#'_
M $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J
M-*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#'_0:@_[ZH_X3
M'PQ_T&H/^^J -*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH TJ*S?\ A,?#
M'_0:@_[ZH_X3'PQ_T&H/^^J -*O*?VD_VL/ O[/FF-8R,FI>(9XLV>C0R8*Y
MZ23$?ZM/U;L.I' ?M+_MU67AV=_AM\!675M?G;R9-3AC\V*U<\;(EQ^]E_-5
M/]XY R?V;?V4?#MGJ@^+?[16O0ZOK]S+]HCTN[G\Y(9#SYD['(ED_P!GE1_M
M'&/G<5FF(Q==X3+=9+XI_9A_G+R_X-H<FW:)A_"C]G#XK_M;>*H_C5^T?JEU
M;Z-)AK#3AF-[B+.0D2?\L(/]K[S=1UWU]=>'O#NA>$]%MO#GAK28+&QM(Q';
M6MM&%2-1V 'YD]23DU"/&'A<# UJ#\Z7_A,?#'_0:@_[ZKORW*L/ET6X^].7
MQ2>[?^7D.,5$TJ*S?^$Q\,?]!J#_ +ZH_P"$Q\,?]!J#_OJO3*-*BLW_ (3'
MPQ_T&H/^^J/^$Q\,?]!J#_OJ@#2HK-_X3'PQ_P!!J#_OJC_A,?#'_0:@_P"^
MJ -*BO$/V@O^"AG[+W[.EO-:^*/'::IK$8.WP_H2BXNBWH_(2'_MHRG'0&OD
M3Q-^W!^WE^W)JDWA']F;P=)X-\./(8I]4M;C9(J]_-OW"A#WVPA7ZCYJYZF)
MI4WRK5]D?19=PQF>/I>WDE2H]9S?+&WE?5_+3S/MC]H3]LW]G;]F2S<_%+X@
M6\>HB/=#H.GXN+^7C(Q$I^0'LTA5?]JOCGQ5_P %#OVU/VR]=N/A[^Q5\);W
M1=.+>7/J\:++=(I[RW,F(+3([#+#^%S77_L]_P#!)OX(>&[Q/&?[3/Q)/C36
M9)/.GTZVGDBL1(3DEW.)K@YYR2@.2"IK[&\*O\+O VA6_A?P7;:5I.FVJ[;:
MPTZV6&&,?[*( !6?+B:_Q/E79;_>>C]:X8R/3#0^M55]J:M33\H;R^?R9\<?
M S_@C=9ZAJ__  L3]L+XF7GBC5[F037>DZ?>R^7(_?S[M_WLQ]=NS!'WF%?9
MWP^^&GP_^%'AR+PC\-?!NG:'IL/W+/3;58D)_O-M&68]V.2>Y-6O^$Q\,?\
M0:@_[ZH_X3'PQ_T&H/\ OJMZ5"E1^%'A9GGF:9Q*^)J-I;16D5Z16GZ^9I45
MF_\ "8^&/^@U!_WU1_PF/AC_ *#4'_?5:GDFE16;_P )CX8_Z#4'_?5'_"8^
M&/\ H-0?]]4 :5%9O_"8^&/^@U!_WU1_PF/AC_H-0?\ ?5 &E16;_P )CX8_
MZ#4'_?5'_"8^&/\ H-0?]]4 :5%9O_"8^&/^@U!_WU1_PF/AC_H-0?\ ?5 &
ME16;_P )CX8_Z#4'_?5'_"8^&/\ H-0?]]4 :5%9O_"8^&/^@U!_WU6/XX^.
M/PA^&GA^7Q5\0/B+I6CZ="/GN]0NA&N?[HS]YCV49)[ TTG)V0%+XW?M(? [
M]G#1(/$'QL^)&GZ!;W3E;1;DO)-<$8W>7#&K228R,E5.,C.,BCX(_M(? W]H
M_1)_$'P2^)&GZ_;VKJMVML7CFMRV=OF0R*LD><'!91G!QG!K\<O^"E/[1OAW
M]IS]J[6?'G@3Q-/JGAFUM+6Q\/33021 0I"IDVI( R@SM,PR 2&!Q69^P)^U
M-:_LA_M':;\5->AU*XT)[2XLM?L=+VF6X@DC.W"NRJQ641/@D?<//-?0K(KX
M+GN^>U[?IZ_J;^Q]R_4_=>BO'?@C^WQ^R=^T%#%'\//B_IYOY0,Z-J>ZUO%;
M^Z(I #)CU3<OO7J'_"8^&/\ H-0?]]5X%2G4I2Y9JS\S%IIZFE16;_PF/AC_
M *#4'_?5'_"8^&/^@U!_WU4"-*BLW_A,?#'_ $&H/^^J/^$Q\,?]!J#_ +ZH
M TJ*S?\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J /D']N+_@F''XVU:3X_?LHR#P
M_P"-;6?[9/I5E-]FBOYE.[S8'!'V>XSSG(1SR=K98P_L0_\ !3N3Q'K*?L]_
MM=1GP_XRLY_L=OK-_#]FCO)E.WR;E2 ()\\9P$<\?*V WV)_PF/AC_H-0?\
M?5?//[;W[$_P._:ZT9]?LM:LM#\;6T&VPU^.,[;D ?+#=*!F1.P;[Z=LC*'C
MJ4)TY^TH[]5T?_!/L,!G>$S##1R_.+N"TA46LZ?_ ,E'NO\ @6^F**_.3]ES
M]OKXL?L=>-4_9B_;3L[R;1[-EATSQ"Q,\MC%G"-O&3<VO'##+H 1SC8OW_H_
MQ*\!>(=*M]=T'Q;8WEE=PK+:W5M,'CE0C(96'!!'<5M1KPK+31K==CR,XR3%
MY/52J6E3EK&<=8R7=/\ -?IJ;E%9O_"8^&/^@U!_WU1_PF/AC_H-0?\ ?5;'
MC&E16;_PF/AC_H-0?]]4?\)CX8_Z#4'_ 'U0!I45F_\ "8^&/^@U!_WU1_PF
M/AC_ *#4'_?5 &E2.B2H8Y$#*PPRL,@CTK._X3'PQ_T&H/\ OJC_ (3'PQ_T
M&H/^^J /D?X_?";Q?^QW\4[?]H7X)0E= N+C;?Z>H/E6Q<_-!(!_RP?^$_PM
M@<$(3]/_  D^,?@WXQ_#ZW^(?AJ^5+9D/VV*:0!K.51EXY/0KUST(((X-<Q^
MU-\2]#T#]GSQ3?V'V34)FTW[.EK-'O4^:ZQ;BI&#MW[N?[M?G#;7EY9EC9W4
MD1="CF.0KN4C!4XZ@C@BO@\?F,>%LR<**YJ=1<W)LHN]KIZZ.VUOT,6_9RT/
MI[XH^+?%/[=_QVMOA3\/;J2'PAHTQDFO@IV,H.U[MAW)SLC4^N>-S8^O?!'@
MOPY\._"ECX+\)Z>MKI^GP"*WB7KCNS'NQ.23W))KQO\ 8/L?AYX._9]TS6+,
MQVVHZR\L^JRS']Y(Z321H,XX4*HVC_:)ZDU[/_PF/AC_ *#4'_?5>]D>$DJ7
MUZL^:K52;?9/517DE_6A<%I=]32HK-_X3'PQ_P!!J#_OJC_A,?#'_0:@_P"^
MJ]XLTJ*S?^$Q\,?]!J#_ +ZH_P"$Q\,?]!J#_OJ@#2HK-_X3'PQ_T&H/^^J/
M^$Q\,?\ 0:@_[ZH TJBO;VSTVSFU'4;N*WM[>)I)YYI J1HHRS,QX  !))Z8
MJE_PF/AC_H-0?]]5\#?\%%OVQO$_[0?CN']B#]ENZ:]%]=BU\3:G:286ZD!^
M:U#_ ,,,>"TK]#M*_=5MWJY/E-?-\7[*#Y8K64GM&*W;_0X,QQ]++\/[26K>
MD4MY/HD<W^T+\6_B3_P50_:0L_V;O@+=36WP_P!$NC->ZJR-Y4RH=KW\HXRH
MR5AC."2V3@L=GZ!_!'X+> OV??AIIGPJ^&^E"UTW38=H9L&2XE/+S2L!\TCG
MDG\    //?V./V?/A#^Q_P#"2'P3H6MVEUJUT%N/$FN%<->W ';(RL29*HO8
M9)^9F)\-_;+_ ."JD>FZH_P._8YB_P"$A\37<OV67Q#:V_GPV\AX\NU3!^T2
M_P"W@QKVW\[>GB+.\+.$<'A/=P]/X5UF^LWW;Z=EVN=7"W#.9YGB95.7FK3U
ME)_#"/:_1+\>ESVG]LO]OOX2?LAZ*VGZA,NM>+;B'=IWAFTG < CY9;AN?)C
M]R"S?P@X)'RA\'/V3/VE?^"DWCJW_:$_:V\0WND>#R=VDZ;$AA>X@)R([2)L
MB"$C&9FRS\$;R=Z]S^QK_P $Y?#.EZVOQZ_;'\1P^)/%EY/]K30KVY-S#;RD
MY\RZ<Y%S+G^')C7_ &SC;]M+XO\ "R*$36(  ,  \ 5\HJ53$OFJZ1Z+_,^[
MJYIEW#=-X?*GSUGI*LUMW5-=%_>Z^>C5?X=?#?P+\)?!]GX"^&_ABTT?2+"/
M9;65G'M4>K$]68GDLQ+,>22:VZS?^$Q\,?\ 0:@_[ZH_X3'PQ_T&H/\ OJNQ
M))61\7.<ZDW.;NWJV]6S2HK-_P"$Q\,?]!J#_OJO%_VB?^"DW[)O[-T,]EXG
M^(*:QK40('A[PZHN;K=_=<Y$</TD93CH#6M.E4K2Y8)M^0DFW9'O5>;?'_\
M:[_9W_9BTPWOQC^)EAIURT>^WTF)O.OK@=MD"9?!/&X@*.["O@OQ/_P4#_X*
M!?MS:K-X._9/^'TG@[P^\ABFU:UE F1>_FW\H5(CCG;"%D'(!:NX^ '_  1X
M^%5MJ8\>?M=?&*7QCK%Q)YUWI6G7DL=L\AZ^=<-B>?/J/*_&O1^H4</KBIV?
M\JU?^2+Y%'XF8?Q!_P""L_[3_P"TWXDF^%_[!/P-U"%I/E_MFYLEO+Y4)P)"
MG-O:+_M2&0>XKS?XG?\ !(']OOQWI$GQB\9>)=*\3^,-5G#ZII-SX@WWH4*%
M3=<3;86*@!=H?:JJH4D<#]._A]HOP7^%'AN+P?\ #/1=&T+3(/\ 5V6EVBPQ
MY[L0H&YCW8Y)[DUN?\)CX8_Z#4'_ 'U3CFBP[MAJ:BO/5OU8_:<OPH^%/^"7
MW_!+WXJ?L_\ Q47]H+]H)+/3]2TZSF@T'0;2\2XDCDF0QR32R1DQ@"-G555F
MSO))7: WW[6;_P )CX8_Z#4'_?5'_"8^&/\ H-0?]]5PXK%5<75]I4W(E)R=
MV:5%9O\ PF/AC_H-0?\ ?5'_  F/AC_H-0?]]5SDFE16;_PF/AC_ *#4'_?5
M'_"8^&/^@U!_WU0!I45F_P#"8^&/^@U!_P!]4?\ "8^&/^@U!_WU0!I45F_\
M)CX8_P"@U!_WU1_PF/AC_H-0?]]4 :5? '_!8'_D^W]@K_LO]W_Z:Y*^[?\
MA,?#'_0:@_[ZKX(_X*XZUI6K?MW?L&KIU\DQ3X_79<(>F=,DH _0FBBB@#,\
M9?\ (KWO_7'^HKRZO4?&7_(KWO\ UQ_J*\NH [+X<?\ (?U+\?\ T,UV5<;\
M./\ D/ZE^/\ Z&:[*@ KS[XO?M+?#/X%Z[9Z3\4$U;3[*^M3+'KB:1+/9*P8
MJ8G>(,5?H<%<8(.:]!K!^*/P^TSXK?#W5_AQK.H75K::S9/:W,]DRB5$;KM+
M C...0>M 'SCX!;P)\7/VT_#OQ:_9A\+W%MX?T[2+U/&OB&VTF2RLM2:2-EA
MB"NJ>;('*L3MYPIR=@-8_P"T/^U#\*/BY\9KWX"?$GXBMX7\!>&;XIXE7[+<
M-<^(;N*0@VJ^2C&.W1U^9C@L0,=B/KW2].MM'TRVTFS!$-K D,0/7:JA1^@J
M>@#P+XI:S\,OVN/V2?&'@+]G'5X-42QL(8;2TL[*6W5)(&CGB@19$3J(@JXX
MY XKF/$7[:_PW\6_LT3> ?#LM]=?$'5O#K:*GA"+3)_M<>H/#Y#@KLQM5BSY
MSR!CKQ7U)4:V5FETUZMI$)F7:TPC&XCT)ZXH ^4/&/@'5?V4[CX'?%G7M/GN
M-)\&:/-HWC2>RA:;[%]HAQY^$!)C65Y"6 [*.K 5L^/OB/X2_:]^./PX\(?!
M:_DUK1_"7B)/$7B;6X;61+:U, S!#O=1N=VR-H]1Z-M^FB P*L,@]0:CM;2T
ML8OL]E:QPQ@Y"1(%&?H* )**** "OD#_ (+\?\H;/VA/^R?S?^CHJ^OZ^0/^
M"_'_ "AL_:$_[)_-_P"CHJ />OV4+"Q;]EKX:LUE$2? &C$DQCG_ $&&N_\
M[.T__GQA_P"_0KAOV3_^36?AI_V3_1O_ $AAKOZ (?[.T_\ Y\8?^_0H_L[3
M_P#GQA_[]"IJ* (?[.T__GQA_P"_0H_L[3_^?&'_ +]"IJ* (?[.T_\ Y\8?
M^_0H_L[3_P#GQA_[]"IJ* (?[.T__GQA_P"_0H_L[3_^?&'_ +]"IJ* (?[.
MT_\ Y\8?^_0H_L[3_P#GQA_[]"IJ* (?[.T__GQA_P"_0H_L[3_^?&'_ +]"
MIJ* (?[.T_\ Y\8?^_0H_L[3_P#GQA_[]"IJ* (?[.T__GQA_P"_0H_L[3_^
M?&'_ +]"IJ* (?[.T_\ Y\8?^_0H_L[3_P#GQA_[]"IJ* (?[.T__GQA_P"_
M0H_L[3_^?&'_ +]"IJ* (?[.T_\ Y\8?^_0H_L[3_P#GQA_[]"IJ* (?[.T_
M_GQA_P"_0H_L[3_^?&'_ +]"IJ* (?[.T_\ Y\8?^_0H_L[3_P#GQA_[]"IJ
M* (?[.T__GQA_P"_0H_L[3_^?&'_ +]"IJ* (?[.T_\ Y\8?^_0H_L[3_P#G
MQA_[]"IJ* (?[.T__GQA_P"_0H_L[3_^?&'_ +]"IJ* (?[.T_\ Y\8?^_0H
M_L[3_P#GQA_[]"IJ* (?[.T__GQA_P"_0H_L[3_^?&'_ +]"IJ* (?[.T_\
MY\8?^_0H_L[3_P#GQA_[]"IJ* (?[.T__GQA_P"_0H_L[3_^?&'_ +]"IJ*
M(?[.T_\ Y\8?^_0H_L[3_P#GQA_[]"IJ* (?[.T__GQA_P"_0H_L[3_^?&'_
M +]"IJYCXK_%_P !_!;PK)XM\>ZPMM ,K;P)AIKJ3'^KC3^)OT'4D#FHJU:=
M&FYU'9+=L-C7UNZ\,>&])N->\02V5E96D1DN;JYVHD:CJ23P*^1_B]^TA\0/
MVG?%3?!/]F/0)8].F)2]U5(O*EN(\X9V;'[B#Z_,W XSL-":Z^/7_!0GQ@;6
MT5] \#6%S\Q.3#'CNW3[1/CMPJY_ASEOJSX/_!;P#\#_  LGA;P)I(A4X:[O
M)<-/=N!]^1\<GK@< 9X KYF5;&<0-PH-T\/UEM*?E'LO/_@HSNY[;'%_LU_L
M@>!/@)IJZI?10ZOXCFCQ=:K-%E8<CF.!3]Q>Q;[S=\#Y1ZS_ &=I_P#SXP_]
M^A4U%?0X7"8?!4%1H1Y8K^OF_,M))61#_9VG_P#/C#_WZ%']G:?_ ,^,/_?H
M5-170,A_L[3_ /GQA_[]"C^SM/\ ^?&'_OT*FHH A_L[3_\ GQA_[]"OG;_@
MHW^V"_['GPOTVX\'>'+"[\3>)+J6WTC[;!NAMDB53+.RC!<KOC 7(&7R<A2#
MZ]\;/C[\)/V>/"+^-/B[XTM=)LQD6\<C;I[IP/\ 5PQ+EI&]E''4X'-?F]^T
MG\7_ (R?\%7_ (CZ7X*^ /P,G&C>%Y)VL]0NG"R*)@@9[F8L(80PB7$8);*G
M#-T')BJ_)!Q@_>>Q];PIDCQV.CB<5#_9H7<Y2=HZ)V5W:^MKI=-RC\%?^"PG
M[17@[Q@+WXR6^F^,-#E+"XL5TNVLIX1C@PR0QJ,@XX<-D9&0>1VL_P 8/^"C
M?_!1:X?3/@QX.'@;P5.Y1]0M6:T@*9P?,O67S9R.C+ H!!Y3O7.?LZ?\$>OV
MB=<^)UA/\>]#LO#_ (9L;Q)M1_XFL%S-?1JP)BB6!W"[\8+.5V@DX)&T_J7;
MV]O:0):VL"111($CCC4*J*!@  <  =JYL/2Q-6%JLFE^+_4^GXBS?AC*<5&>
M5X>E4JM?$M81[6BO=<O/=65SY"_9P_X([_ ?X8-!XD^--_)XZUI2':WN4,.G
M1/UXA!+3>F9&*M_<%?66E^&?#>AZ=#I&B>'[&SM+>,);VMK:)''$HZ*JJ %'
ML*O45Z%.E3I*T%8_/,QS;,<VJ^TQ=1S?2^R]$M%\D0_V=I__ #XP_P#?H4?V
M=I__ #XP_P#?H5-16AYQ#_9VG_\ /C#_ -^A1_9VG_\ /C#_ -^A4U% $/\
M9VG_ //C#_WZ%']G:?\ \^,/_?H5-10!#_9VG_\ /C#_ -^A1_9VG_\ /C#_
M -^A4U% $/\ 9VG_ //C#_WZ%']G:?\ \^,/_?H5-10!#_9VG_\ /C#_ -^A
M1_9VG_\ /C#_ -^A4U% $/\ 9VG_ //C#_WZ%']G:?\ \^,/_?H5-7G7Q]_:
MQ_9]_9DTC^U/C+\2K#2Y7C+VVF*_FWMR.WEP)EV&>-V H[D54(3J2Y8J[\AI
M-['?_P!G:?\ \^,/_?H5R/QB^-7P,_9_\.'Q7\8_&^C:!9X/E&]8>;.1U6*)
M09)6_P!E%8^U?"7Q#_X*Q?M0_M0>)9?A9^P/\$=1@:3Y3K-Q9K=7RH3@2%>;
M>T7MND+C_:4UI?!W_@C3\1?BIXC'Q5_;N^-.HZIJ5R0\^C:=J+7%PXZA)KN3
M(4#ILB4@#[KBO267PH+FQ4^7R6LO^ 7R6^)V(?C'_P %A_&?Q2\1GX5?L(_
MF[U74KDE(-9U'23<7#]B\-G'D*!UWRL0!]Y!5#X<?\$F?VG?VF_$D7Q2_;R^
M-%]:>8=PT6TNDN;U4/)C!&;>T7_9C#C_ &5-?>OP=^ ?P;_9_P##@\*_!SX=
M:9H%F0/.^Q0?O9R.C2RMF25O]IV)KKZ'F$*"Y<+#E\WK+_@!SV^%6/"=,_X)
MG?L.:;\/D^&[_L^:/=6:N'DOKEI#?R.!C<;L,)AG^ZKA>>%%=)X._8D_9*\!
M^![KX<>'?V?_  T-'O7#7EM?:>+MIV (5GDGWR,5R=I+97)QC->I45Q/$XB2
MLYO[V1S2[GQ-\>_^"'_[/'CQIM:^"'B;4O VHL2T=H6:^L"W7[DC"5,GN)"!
MV7C%>/MX=_X*\?L"$O8PGXC^$K3G8(VUF 1C_9.V\@4#^[A!ZG%?IS1753S/
M$*/)52G'M+7\=RU4EL]3X8^ _P#P6U_9[\82QZ!\??A[>>"=1#>7-?00&]L0
MPX);:HFCY_AV.!W;BOL+X=?$3X2?%W05\3_"[Q=H?B"P;&;K2;J*=4)_A;:2
M4;_9;!'I7(_'C]BO]F+]I**23XL?"33+R_D7 UJTC-M?*>Q\^+:[8[*Q9?:O
MCWXB_P#!%SXJ_"?7F^(7[$W[1.H:??0Y:"QU6\>SNE'78MW; !\]-K1J/5N:
MODRS$_"W3?9ZQ^_?[PM3EY'Z'_V=I_\ SXP_]^A1_9VG_P#/C#_WZ%?FOIO_
M  48_P""BG[&-_%X;_;)^!<VOZ6CB)=7N;86TDG8".]MU:VF('."I8\989S7
MT]\ O^"K'['7QX\C33X__P"$4U>7 _LOQ:JVN6]%GW&%LG@#>&/'RCI65;+<
M52CS)<T>\=4)TY+4^BO[.T__ )\8?^_0H_L[3_\ GQA_[]"GP7$%U EU:S))
M%(H:.2-@593R"".HI]<!!#_9VG_\^,/_ 'Z%']G:?_SXP_\ ?H5-10!YM^TC
M^RG\'?VH_ DG@GXD>'8PZ!FTS5[1%2ZT^4C[\;XZ=,H<JV!D< CX/\.^+?VF
M?^"1OQ-3P7\1M);Q9\,=5NR;6:-/W,@)R9+=FS]GN .6@8[7P>3Q(/TYK$^(
MGPY\#_%GP=>^ /B-X:M=7TC4(MEU97:95O1@>JL#R&4AE(!!!%<]:ASOG@[2
M77_,^CR?/Y8&D\'BX>UPTMX/I_>@^C7X^3U,KX,_%KX2_'_P):_$;X5ZQ9ZG
MIET,%DC DMY  6BE0\QR#(RI]01D$$]5_9VG_P#/C#_WZ%?FQ\6_V=?VDO\
M@EK\1IOCU^S7K-UK?@&>51JME<J9!#%NXAO8UQN09(2X7!4G!VD_/]G_ +(_
M[9_PE_:]\'_VQX+O/L6M6D2G6O#=W*#<6;=-PZ>;$3TD QR 0K94*EB.:7)-
M6E^?H5F^01PU!8[ 3]KAI?:ZQ?\ +-='Y[/RNCUC^SM/_P"?&'_OT*/[.T__
M )\8?^_0J:BND^:(?[.T_P#Y\8?^_0H_L[3_ /GQA_[]"IJ* (?[.T__ )\8
M?^_0H_L[3_\ GQA_[]"IJ* ,SQ%X.\,>*]"O/#6OZ);W%E?6[P74+1@;T88(
MR.0?0CD'D5\W_P##KWP+_P )/]N_X6?J?]D>;N_L[["GG[,_=\_=CVSY=?4=
M%>?C<JR_,91EB*:DX[;_ *6T\GH)Q4MS,\.^#O#'A/0;/PSH&B6]O96-NL%K
M"L8.Q%& ,GDGU)Y)Y-7?[.T__GQA_P"_0J:BN^,8QBHI62&0_P!G:?\ \^,/
M_?H4?V=I_P#SXP_]^A4U%,"'^SM/_P"?&'_OT*/[.T__ )\8?^_0J:B@"'^S
MM/\ ^?&'_OT*/[.T_P#Y\8?^_0J:OG[_ (*!?MNZ#^R!\-#'H\L%WXTUN%T\
M/::^&$(Z-=RC_GFAZ#^-OE' 8KU8+!8G,,5'#T(WE)V7]=EU9AB<31PE"5:J
M[11YK_P4X_;=_P"%36 _9K^!*BY\>>($2&\GTZ+?-I<,N J(%&?M,NX! /F5
M6W<%D-:7[%?[*WPO_P""?WP1O/CA^T3J^FV/B34+02:YJ5\X9=,A/S+91'DO
M(3C=LR7?"KN"J3\^?L\VGP\_8ZT1OVW/VR+V?6_B/XG62^\%^$9I ]\PER3?
MS!L^49,G#L,(A. SD*MOP+\&/VK?^"L'CR#XJ_&[6+CPS\.+2X8Z;;P(5C*9
MP8[.)O\ 6.>C7+Y&<@;MOECV\]S7#95A?[%RU\S_ .7LE]N7:_\ )'\?Q?9P
MQPK7SA_V[F\O8X=?!?>W]U=9R[]//92_%_\ :@_:*_X*4>/9_P!G_P#9)\)7
M&B^#@VW5=2E'DO/"3CS;R90?)A(!Q"I+/@@[S\J_6O['7[ /P>_9)T%;NRM(
M]<\57,.W4O$M];C?R.8X%.?)C]@2S?Q,< #TWX.?!7X9_ +P/;?#SX4^%;?2
MM-MQDK$,R3R8 ,LKGYI'.!EF)/  P  .JKY&EA[2YZCO+\O0^BS7B!5L/]1R
M^'LL.NGVI^<WU]-EYV5H?[.T_P#Y\8?^_0H_L[3_ /GQA_[]"JWB7Q1X:\%Z
M'<>)O&'B&QTK3;1-]U?ZC=I!#"OJSN0JCZFOC;]I#_@MC\#?A[-+X6_9]\/W
M'CS6=WEQWH#6^G)(3@88CS)SGLBA6[/7HT,+B,3*U.-_R^\^:C&4GH?:$]KI
M-K ]S<V]M''&A:221%"JH&223T %?+7[2W_!67]D;X"?:-#\*7<?CK7XLJ+#
MPX4-K&X[2W9!C Z@^7YC ]5%?.4'[/\ _P %2/\ @I#.FI_'/Q5+X#\$W+AU
MTV\A>SA,><CR[!#YLY'4-<,,@\/7U+^S5_P2H_90_9V^SZU<^%?^$O\ $$.&
M_MGQ.BS+&X[Q6^/*CP>02&<?WZ[?JV!PO\>?-+^6/ZO_ "*Y81W9\I_\)?\
M\%1_^"E;^3X$\/K\/O EV<"[@#Z=:R1'NUP0;B[R."(@8SW45[S^S5_P1=_9
MQ^$A@\0_&*YF\?ZTF',5_'Y.FQ/UXMP29>X_>LRGKL%?8ZJJJ%4  #  [4M9
MU,RK.')12A'LOU>XG4=K+0HZ3X7\-:!IL.C:%X=L;*SMHPEO:6EHD<42CHJJ
MH 4>P%6/[.T__GQA_P"_0J:BO.W((?[.T_\ Y\8?^_0H_L[3_P#GQA_[]"IJ
M* (?[.T__GQA_P"_0H_L[3_^?&'_ +]"IJ* (?[.T_\ Y\8?^_0H_L[3_P#G
MQA_[]"IJ* (?[.T__GQA_P"_0H_L[3_^?&'_ +]"IJ* (?[.T_\ Y\8?^_0H
M_L[3_P#GQA_[]"IJ* (?[.T__GQA_P"_0H_L[3_^?&'_ +]"IJ* (?[.T_\
MY\8?^_0KX#_X*^6UO!^W;^P68+=$S\?[O.Q ,_\ $KDK] J^ /\ @L#_ ,GV
M_L%?]E_N_P#TUR4 ??\ 1110!F>,O^17O?\ KC_45Y=7J/C+_D5[W_KC_45Y
M=0!V7PX_Y#^I?C_Z&:[*N-^''_(?U+\?_0S794 %%%% !1110 4444 %%%%
M!1110 5\@?\ !?C_ )0V?M"?]D_F_P#1T5?7]?('_!?C_E#9^T)_V3^;_P!'
M14 ?0'[)_P#R:S\-/^R?Z-_Z0PUW]<!^R?\ \FL_#3_LG^C?^D,-=_0 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
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
MC%:1BNR73\S[Y^*/QB^%GP3\-OXN^+/C[2_#^G+D+<:E=+'YC 9VQK]Z1O\
M94%CZ5\2?'/_ (+8_P!NZU_PK?\ 8L^$=_XGU>Z<PV>K:G8RL)7_ .F%G%^]
ME]07*$$<H16/\+?^"/'QM^.7B1/BG^WG\<M1N+R?#2:/8:A]KO-O7RWN7W1P
MJ.FR)77!X9:^W/@;^S'\!_V;M%_L3X,?#33=%#QA+B\BB\RZN1_TUG<F23GG
M!; [ 5W6R[";OVDONC_P?R/+_=Q\SX-\-?\ !./]O+]MS6[?Q]^V[\8[S0=+
M+^;!HTSK-<QJ>T5I$5M[7(XR?G'\2&OLK]G#]@G]F#]EN**Z^&OPZ@FUB-<-
MXCUDBZOV/0D2,,19[B)4!]*]DHKGKYAB:\>2_+'LM$*4Y,****XB HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "O@#_ (+ _P#)]O[!7_9?[O\
M]-<E??\ 7P!_P6!_Y/M_8*_[+_=_^FN2@#[_ **** ,SQE_R*][_ -<?ZBO+
MJ]1\9?\ (KWO_7'^HKRZ@#LOAQ_R']2_'_T,UV5<;\./^0_J7X_^AFNRH **
M** "BBB@ HHHH **** "BBB@ KY _P""_'_*&S]H3_LG\W_HZ*OK^OD#_@OQ
M_P H;/VA/^R?S?\ HZ*@#Z _9/\ ^36?AI_V3_1O_2&&N_K@/V3_ /DUGX:?
M]D_T;_TAAKOZ "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ JKK>M
MZ/X;TFXU[Q!J<%E96D1DN;JYD")&HZDD\"L+XK_%_P !_!;PK)XM\>ZPMM ,
MK;P)AIKJ3'^KC3^)OT'4D#FOD^:Z^/7_  4)\8&UM%?0/ UA<_,3DPQX[MT^
MT3X[<*N?X<Y;R,QS:&#DJ%*//6EM%?F^R_KS)E*VG4U/C!^T_P#$[]I_Q2_P
M1_9ETV[CTV?*7NJ+F.2YBSAF9O\ EA!ZY^9N!QG8?9OV9_V1?!/[/]@FKW(C
MU7Q++'BYU:2/B'(YC@!^XO8M]YN^!\H[+X/_  6\ _ _PLGA;P)I(A4X:[O)
M<-/=N!]^1\<GK@< 9X KJZPP&4S5?ZWCI<];I_+#RBOU_P"':4=;O<****]X
ML**** "LGQOX[\&?#7PS=>,_'_B>RT?2K)-US?ZA<+'&@[#)ZD] HY)X )KY
MX_:]_P""HGP3_9M^U>#_  ?)%XN\7QY0Z987 ^S64G3_ $B89 (/6-,OD8;9
MG-?._@C]DK]L_P#X*/\ B>U^*W[5WBZ]\,>$-_FZ=II@,3F,]K2T/$0(X\Z7
M+$8/[P5RU,2E+DIKFE^"]6?4Y?PU4GAUC,QG["AW?Q2\H1W?KMUU.B^._P#P
M5'^+7Q[\6-\"_P!@7P/J-U=7A:+_ (2,V6ZZE7HSP1-\MO&.\TO(!SB,C-=/
M^RW_ ,$CM(T[5U^+7[8>OMXN\1W4OVF71&NGFMDE/.ZYE8[KI\]1PF<@^8#F
MOJ/X$?LX?!S]FSPFOA#X0^#+?386"_:[LC?<WCC^.:4_,YZX'W5SA0!Q7<TH
M89RESUG=]NB-<5Q+3PM!X3)J?L:;WE_R\GZRZ>B^_H0Z?IVGZ180Z7I5C#:V
MMO$L=O;6\02.)%& JJ,!0!P .!4U%%=9\DVV[L****!!1110 4444 %%%% !
M1110 45!JFJZ9H>G3:OK6HP6=I;1F2XNKJ98XXD'5F9B H'J:^0/VF?^"SW[
M.7P@-QX<^#L$GC_7$)02:?+Y6FQ/T^:X(/F]C^Z5E/3>M;T,-7Q,N6G&XU&4
MMC[%DDCAC:65PJJ"69C@ #J2:^7?VFO^"MW[+'[/OVC0O#>M'QQXABRO]F^'
M9E:WB<=I;KF-><@A/,8$<J*^6M6\&?\ !2[_ (*&V9\1_&[QG;_#'X<3D,R:
MK(=,L6B//RVY;SKKCD-,VP]G%>@_"CX<_P#!(3]BSRM8\7?%G2/B#XGML'[?
M/$=41)1_SQM[97@B(/(+EF4C[]>OALI3E;EE5E_+!-_>TC.M7PF$5Z]1+U:7
MYG$MXQ_X*G_\%-F,/A&Q?P!\/[SC[1$\FGV<T)_O3$&XO,C@B,&,GJJU[_\
MLR_\$:_V:?@M]G\0_%-7\?Z['AB=6@$>GQ/_ +-J"0_I^]9P>NU:YOX@?\%R
M/@CHH:U^&'P@\1:Y(GRI)J4\-A"WH5*^<V/JH-<;_P / ?\ @IQ\>OW?P&_9
ME_LJSF_U&HP^'9Y\9Z9N+DB _P#?(KVO[ XBG2UA'#T_[TE'[W?F_ \JIQ+E
MJ?)2DYOM!-_CM^)^A]A86.E646FZ9916UM!&(X+>",(D: 8"JHX  ["N?\>?
M&7X1_"V$S_$GXGZ!H*A<XU?5X;=B/978%C[ <U\(?\,=_P#!7#X__/\ &']H
M)O#EI-S<64OB4Q@@]O(TY3$WT) KI? ?_!#+X>PS"_\ BY\=]<U>5VWS1Z-8
M1V@)[@O*9BWUP#]*X_[$R+"ZXO'Q;[4XN=_^WM$8?VGFE?\ @81I=YM1_#<]
M8^(7_!6S]BCP'YD-AX]O_$=Q']Z#P]I$KY/M)-Y<;?@YKQ;Q3_P6\U/Q%J']
M@_ C]FB^U&ZD)^SR:I?L\C?]N]NC$_A)7T'\//\ @F)^Q-\.O+FMO@O:ZO<)
MUN/$-U+>[_K'(WE?D@KVKPMX)\&>!M/&D^"?".F:/:CI;:581V\8_P" QJ!1
M]<X1PG\+#5*S[SERK[H_J'U;B#$?Q*T::_NQO^,C\_O^%Q?\%I?VA./!WPUD
M\'64_P!YET6#30J'N&U!FE_%.:6/_@E/^VM\;I%NOVE?VL!Y,A#-;-J-YJK1
MCT\N0Q1K]%8BOT3HH_UMQ5#3!4*5'SC!.7WN]_N#_5^A5_WFK.IY.3M]RL?&
M_P /?^")G[,'AO9<>//%?B;Q+,N-\37:6=NW_ 8E\P?]_*]U^'O[$/[)/PM\
MM_!OP \-Q31?ZNZOK 7DZ'U$MQO<'Z&O4Z*\K%Y]G6-_C8B37:[2^Y67X'?0
MRK+<-_#I17G:[^]ZG$_&#]G#X&_'SP_;>%_BY\-=.UFSLB?L*R(T4EMD $12
M1%7C!P,A6 .!GH*SO O[(?[,GPX\%W?P]\)_!'P_'H]^P:_M+RQ%W]J(!"F1
MY][R8R<;B<9.,9->CT5Q1QV-A1]C&K)0O>W,[7[VO:YTO"X:53VC@N;:]E>W
M:Y\E?&W_ ((X?LM_$KS=2^';ZCX(U"3)7^S)3<698]V@E.0/9'0>U>+']F#_
M (*I?L5G[1\!_B1+XQ\.VW*:997(N4$8[&RNN4)]("S>]?H]17MX;BO-J5/V
M5=JM3_EJ+F_%Z_B>97R' 5)^TI)TY]X/E_#;\#X&^&G_  6EU3PMJ_\ PA?[
M6/P$U#1-1@(2[N]%A>-XST^>SN2'3U)$A/HM?6'P6_:__9M_:"CC3X5_%O2K
M^[D&?[*FE-O>#U_<2A9#CU (]ZZ3XE_!SX4_&32/["^*GP\TC7[8 B--3L4E
M:+/=&(W1GW4@^]?)_P :?^"*/P.\522:S\#_ !MJG@Z]W;XK.X)OK,$<@+O8
M3)S_ !>8V/2NGVG"69_'&6&GW7OP^[XEZ+0QY,_P7PRC7CY^[+[]OO/M6BOS
MA_L#_@KY^Q'\VC7T_P 0O#5ITB1FUB+8.@V-MNXE [)A1Z\5WGP=_P""V?PT
MU.Z7P[^T+\,-4\*WT;^7<7VF@W5NCCJ7B(6:+']T"0UE6X3S"5-U<%*.(AW@
M[M>L=[^2N73S_"*?L\3&5*7:2LOD]OGH?<5%<A\*/C_\%?CGIW]I_"3XFZ/K
MR!-TD5C>*9HA_P!-(CB2/Z,HKKZ^:JTJM";A4BXM=&K/[F>U"I3JQ4H--/JM
M0HHHK,L\1^/O_!.[]DC]HWS[[QO\*K2RU:?);7O#^+*[W'^-FC&R5O\ KJKU
M\E^+/^"1_P"U?^S;KDWCS]AW]HF[E8'=_9<]Z=.NY%'2-F!-O<_]M!&OM7Z1
M45VT,PQ5!<JE>/9ZHM3DC\V_#/\ P5B_;#_9AUJ'P/\ MP_L\7-T-VP:K'9'
M3KJ4#JZD VUR/^N>P?[5?6'P"_X*/?LB?M%>18>$?BG;:9JTV -"\28LKHL?
MX%WGRY6]HW>O9?$_A3POXVT6;PWXR\-V&K:=<KMN+#4[-)X91Z,C@J?Q%?)W
MQ]_X(M_LJ_%7SM5^&C7_ ("U23+ Z4?M%BS'NUM*W ]HWC'M6_M<MQ/\2+IO
MO'5?=_D.].6ZL?8%>)?MD_L,?"K]L#POMUV%=*\3V<!71_$UM"#+%U(BE''G
M19/W2<C)*E23GXX'P(_X*Y?L#?OO@]XOF\?>%+3[FFV3MJ,2Q#HGV*;]]%[B
MW)_WJ[[X*?\ !<KP/<7X\)?M1_";4O">IPOY5WJ&DQO/;HXZF2W?$T(']T>:
M:SJY3.K3;I-5(^6_W;G3A,1B\!B(XC#3M*.S7];=UU.0^!7[6?[07_!-SX@P
M_LU_M=:)>:AX0#;=)U2(M,UI!G FM9#_ *^WZ9B.&3H I!C;]$O!GC3PG\1/
M"]EXU\#>(+75=)U&$2V5_92AXY5/H1W!R"#R""" 017E^O1?LB?\%"OA5/X8
MM?%.B>+M,=/,CFTR\7[;IDI&%E4']Y;R#/1U&1PP*D@_%<]I^U1_P1_^)GVN
MS:7Q9\+=8O?F!RMO,3V;K]DNPHX/*R ?QA<)X<E6P,N6:;C^*]?(^ME1P'%T
M7.BE2QG6.T*OG'M+RZ_>U^F]%<+^SY^T9\*?VF_ 4/Q!^%/B%;NW.%O;*7"W
M-A*1DQ31Y.QNN#RK#E21S7=5UQDI*ZV/BJ]"MAJLJ56+C):-/1H****9D%%%
M% !117RY^W%_P4R^'G[,<5S\/OAXMMXD\=%2GV%'W6VF,>C7+*<E^XA4[C_$
M4!!,5*D*4>:3.[+\MQN:XE8?"P<I/[DN[>R7FSUS]I7]JCX0?LJ^"F\8?%'7
MPDLJL-,T>UP]WJ$@_AB3(X'&7.%7(R1D _G#JGCW]IC_ (*Z?'VT^']K+_8G
MA73YC=-90;GL]&ML[3<3'C[1<$$JN<9+$*(U+D?,_P :OC5X^^+/CJ[\<_%3
MQ9<:UK=T?W\LL@(A7J(E ^6-5S]Q0 O3 .:]U_97^%?_  4*^.7PV7X9_LY:
M#/X(\%ZC+YNL^)BS:>NJ,>-\MWCS[A "5$< V =5)+,?4P^25,1A?K.,DJ<7
M\,6[-^<NR[1W?DM7]'+&8/AFI[' )5<0OBK->Y#^[23^*7]]Z+S=XK[=O/CS
M^P#_ ,$OO +?#+1-?AFU>%0;[2]'V7NKW\X&-]RRD+&W4@2-&J@X10.*^>-<
M_;\_X*%_MX:O/X*_8T^$]UX8T(R&*XUFTPTR+_TUOI0L4!Q\P6,"0<@,U>R?
MLV?\$5_V>?A8T'B/XVZC/X^UI2':"Z0P:=&_7B%6+38.1F1BK?W!7V'H>@Z'
MX8TBWT#PUHUIIUA:QB.ULK&V6&&%!T5$0!5'L!5QJ9=@E:C'G:ZO1?)?YGR]
M?$3KU95:DG.3U;>MSX2^ G_!$G0)-5_X6#^V)\3[WQ=K%S)YUYI.FWDJP22'
MKYUT^)Y\^J^6<]S7VU\./A;\./A!X:B\'_"_P1IF@Z9%]VSTNS6%6.,;FVC+
ML>[-DGN36]17)B,9B,4_WDKKMT^XPE*4MPHHHKF)"BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ KX _X+ _\ )]O[!7_9?[O_ --<
ME??]? '_  6!_P"3[?V"O^R_W?\ Z:Y* /O^BBB@#,\9?\BO>_\ 7'^HKRZO
M4?&7_(KWO_7'^HKRZ@#LOAQ_R']2_'_T,UV5<;\./^0_J7X_^AFNRH ****
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
MI2_NO3YQ>GRT/CKX)?\ !:+]G#QZ8=,^+.AZIX*OGP'GE0WMEG_KK$HD'/\
M>C '=J^JO ?Q*^'OQ2T5?$?PW\;Z5KMBV/\ 2M)OXYT4GLQ0G:?8X(K@?C;^
MPY^RW^T!YUU\0_A)IIU";).LZ8AM+S=_>:6+:9#[/N'M7RKX\_X(W?$GX::V
MWCC]C[]HB^TZ]BR;>TU6YDM+A1UVK=VP&[/3!C4>IK3V'">9_P *I+#3?27O
MP^4EJO5D>US[!?Q(1K1[Q]V7W;/T1^@=%?G'%^VU_P %+_V-I5T_]I_X.2>)
MM$@8*VJWEJ%RO8+?6H:+)_Z:*S^O>O>/@E_P5W_9+^*ODZ=XMUF\\%:E)A3#
MX@AS;%O]FXCW(%_VI/+^E<N*X5S?#T_:THJK3_FIOF7X:_@;T,^R^K/V=1NG
M/M-<K_'3\3ZDHJGX?\1^'O%FDPZ_X6UVRU.QN%W07NGW230R#U5T)!'T-7*^
M<:<79[GL)IJZ"N!^-?[+G[/O[1-@;'XR?"G2-;?9LCOIK?R[N(>B7$965![!
M@*[ZBG"<Z<N:+LQIM'Y\_%O_ ((@7'AS6/\ A._V/OCOJ/A[5+=C)9V.M7#H
M8F_Z97EN!)'CH,HQ]6K@O$_[3?\ P4F_9.T"Z^'_ .V;\#HOB)X'N(C;WT^N
M6BSPS0GM]OMPR@GJ#.K./0$<?J'398HIXF@GC5T=2KHXR&!Z@CN*]".9SG'E
MQ$547GO]YK&M.,D^J^_[S\1O#W[2_ACX$?%6'XU?L=>*]7\.K,W^G>$?$0\T
M1H3EK<R*=EY;9P%+;)EX.,KYE?J-^Q;^WI\*_P!L+PT(-,ECTCQ7:0!]5\-S
MS@O@8!F@;CSHL]Q\RY 8#(+97Q]_X)9_L=_'SS]1NOATOAC5YLG^U_";+9L6
M/=H0IA<D\DE-Q_O#-?&?Q6_X(^_M9_LX:VOQ2_9>^(@\2MI$OVJR_LYS8ZM
M5YRD98I*0,C"ON?H$.<5C# Y?.5\-4]G?[,OA^4EM\[GT>*SNCG.&C3Q\+U8
MJT:B^*W:2VFO.Z:WOO?]5J*_-#X%_P#!<KQ[X,N$\%?M8?".2^FLW\B\UC0X
MQ:WJ,AVMYMI+A&DR#G:T0!&-M=DO_!?3X3MXY&F'X!:\OAPS;3K!U:'[6$S]
M_P"RA-OOCSJU_LK'?9C==TU9^FI\[.A5IR<9+5'W[5'Q)XG\-^#=#N?$_B_Q
M!9:5IMG&9+O4-1ND@@@3^\[N0JCW)KX%_:0_X+J>$]*$WAS]EKP!)K-R057Q
M#XCB:&V4^L=NI$DGU<QX(^Z17SG\-_A?^W-_P55^(0NO&_CS49]"L[G-]J^H
M@QZ9I>>JPV\>V-I=IX1!N/!=@/FI+ >R2EB9JFGT>LGZ1W-\/E^*Q$)5(Q]V
M.[>B7JWHO);OH>S_ +=O_!8^X\1?:OA)^R'>7$5K)F&^\9+&T<UQG@I:*0&C
M';S2 Y_A"X#'X9U+X?\ Q7NO%]OX2UOP[J4.MZE)'Y.ES0.+N5YB-@,1^?<^
MX$!AE@X/1@3^C'QK\,_LG_\ !)CX5VUI\*?"=GKOQ9UBU*Z3KFNQI<W=MU#7
MI!&VWC4Y"(@7>P )<*[#IO\ @F+^PUK/A61OVM_VAK>>\\::^7NM(MM3R\UC
M'-DM=2[N?M$H8]>45N?F8A?I\NP64X# /,\33;CM3YG[TY>7\L5U:U^>_F8W
MB3,.?^RLL:BMYM;)?WNLI/HI:+LNFO\ L+_\$I/@Y\"_!^G>-/C?X.L?$OCF
M=%GN!J:BXM-*8\B&*(YC=UXS(P8[@=A Z_7J(D:".- JJ,*JC  ]*6BOD,3B
M:N+K.I4>_P!R\EY&L;J*3=_-A1117.,**** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH *^ /^"P/_ "?;^P5_V7^[_P#3
M7)7W_7P!_P %@?\ D^W]@K_LO]W_ .FN2@#[_HHHH S/&7_(KWO_ %Q_J*\N
MKU'QE_R*][_UQ_J*\NH [+X<?\A_4OQ_]#-=E7&_#C_D/ZE^/_H9KLJ "BBB
M@ HHHH **** "BBB@ HHHH *^0/^"_'_ "AL_:$_[)_-_P"CHJ^OZ^0/^"_'
M_*&S]H3_ +)_-_Z.BH ^@/V3_P#DUGX:?]D_T;_TAAKOZX#]D_\ Y-9^&G_9
M/]&_](8:[^@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH ***YCXK_%_P'\%O"LGBWQ[K
M"VT RMO F&FNI,?ZN-/XF_0=20.:BK5IT:;G4=DMVPV-W6];T?PWI-QKWB#4
MX+*RM(C)<W5S($2-1U))X%?(WQ@_:?\ B=^T_P"*7^"/[,NFW<>FSY2]U1<Q
MR7,6<,S-_P L(/7/S-P.,[#ES77QZ_X*$^,#:VBOH'@:PN?F)R88\=VZ?:)\
M=N%7/\.<M]6?!_X+> ?@?X63PMX$TD0J<-=WDN&GNW ^_(^.3UP. ,\ 5\S*
MMC.(&X4&Z>'ZRVE/RCV7G_P49W<]MCC?V9_V1?!/[/\ 8)J]R(]5\2RQXN=6
MDCXAR.8X ?N+V+?>;O@?*/7:**^APN$P^"H*C0CRQ7]?-^9:22L@HHK$^(7Q
M'\!_"CPK<^-_B1XLL=%TJT7,][?SA$![*.[,>RJ"Q/ !-;MI*[+A"=2:A!7;
MV2W9MUXM^U5^WA\!_P!DW3GMO&.N?VEXA>+=9^%]+=7NGR/E:3M AX^9^2,[
M0V,5\O?&W_@IM\<?VE_%S_ K]@;P+J>ZZS')XA^S#[9*F<&2,-\EI%S_ *V0
M[AD']V17;_LJ_P#!(WPIX4U%/BC^U=K"^,O$T\OVF329)FELHI2<EIF?YKM\
M]=V$SD$/PU<CQ$ZKY:"OY]/^"?84>'L%E-)8C.Y\M]52CK4EZ_RKUU]&>016
M'[>'_!6#61<7\O\ PA?PR%QE!ATLBH;JJ\/?RC'4XC5@>8\XK[2_9;_8>^ _
M[)VDK_P@7A[[9KDD6R^\3:FJR7DV?O*IQB%#_<0 $ ;BQ&:]<M+2UL+6.QL;
M:.&"&,)##$@5(U P% '  '  J2M*6&C"7-)WEW?Z'!FG$F*QU'ZKAXJCAUM"
M/7_$]Y/UT\KA11170?.!1110 4444 %%%> _M3_\%'OV=OV75N-"U'6_^$B\
M3Q A?#>B2J\D3^D\G*0#U!R^#D(:ZL'@L7F%94<-!SD^B_7LO-Z&&(Q.'PE)
MU*TE%>9[Y))'#&TTTBHB*2S,<  =237YH?\ !9#]K#X;_%E/#/P>^$?Q'@UF
M#2+^ZNO$J::Y>V\\+&EN!*/DE*@SYVE@-W7/ 4S?\%$?^"IESMB7_A"/AM._
M)_>6]C+'GU_UM^V!_P!<MP_Y9UZEXP_9C_8&_P"":OP,G\>?&WPD?'6J:B/L
M$)U>TCFGOYV4DQVT#'R[=0 6,F2ZC^-B54_:Y;@\NX8QL*^+J>TQ"VIT[.S:
MM[TGI=7V6SUU1\[BJN.S^A*AA8<M*7VY75^ONK>S[]C\V/ .C^+?$7C?2- \
M!"Z_MJ^U&&WTK[$[++Y[N%3:5Y!R1R.E?H?X)_X(:^&9[K^U?C+^T)J^JSRM
MNN8]%T](&)[_ +Z=I2WU*"O,_P!DW_@H5_P3K^%OQ NO$C_L@W'@.Z$,K6.O
M6VJRZVZG:?D43 -;EQ\H,>1\V&(4DC<\=_\ !4[]KG]K7Q)-\+_V"O@IJ%A$
MYV2:S+:I<WJ(> [LW^C6:GIER^#C#@UZV><49QBZRC@$Z,$O>E+EN_G[UDO)
MWUU)RKA"EAXMXU*;Z:NR_*]_0]K\3_L=_P#!+G]C7P^GBSXRZ9IBE5)@E\5Z
MM-=SW6.HCM%.)C[)$??BO#?%/_!4?7/$FL-\%_\ @F9^RU!83W ,<6I6_AN(
MW#*#CS([.!?+C4'!WREA@_,BUT?P5_X(O>*_'_B$?%+]N;XR:AKFJW3"6YT?
M3=0>:60]=L]Y+ECZ%8P,?PR5]P_"7X(_"3X$>&E\(_"#X?:9X?L!CS(M/MPK
M3$<!I9#EY6_VG+'WKXO%9DI/]_5E7E_>;Y5\GO\ D?34,'@<&OW--)^22/@O
MX:?\$C?VB?VC?$T?Q5_;Y^-VHB>7YCHUI?B[O0A.?+,IS!;+_L1*XQTVU]O?
M C]ESX"_LTZ+_8OP8^&NGZ.7C"7-\L9DN[D#_GK.^9'&><$[1V KOZ*\G$8[
M$XE6D[1[+1?<;RG*6X4445R$A1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 V6**>)H9HU='4JZ,,A@>H([BO!
M_C;_ ,$U?V0OCCYU[JOPQAT+4I<DZKX6864NX]6**#"Y)YRR$^]>]45U83&X
MS U/:8>HX/R;7_#F%?#8?%0Y*T%)>:N?G;K_ /P2K_:U_9TU:;Q?^QK^T//.
M-V\Z:]XVG7,H'1&Y:"X_[:;![4S2/^"G?[:O[,>I0^%_VQ_V?9;Z$/Y8U1K,
MZ?/-ZLDJ*UM/C'1 H//S5^BM5M8T;1_$.FS:-K^E6U]9W";)[2\@66*1?1E8
M$,/8BOHUQ3]<7+FF'A77\UN6?_@4?\CQWD7U=\V!K2I>7Q1^Y_YG@GP3_P""
MGW['_P :_)L8OB*/#6I2X']F^*T%F<GL)LF%LG@ /D^E?0-K=6U[;1WEE<1S
M0RH'BEB<,KJ>001P0?6OFCXV_P#!)C]D7XN>=J&@^%KCP;J4F2+KPS*(X2W;
M-NX:(+[($/O7S]=?L"?\%%OV0;A]7_9/^-\FOZ5$Y<:5:W8MV?G)+V5R6MW/
MT9F/.!3_ +-X;S+_ '/$NC)_9JK3Y36B7KJ+Z[G6"_WBBJD?YJ>__@+U^X_1
MNBOSW\&?\%@?C5\'];3P/^V/^SI>6MU'Q)>:?:R6-T5'&_[/<?)+GU5T7T'-
M?4OP2_;Y_91^/GDVG@GXM6%OJ4V -&UMOL5UN/\  JRX$I_ZYEQ[UYV.X;SG
M+X\]2DY0_FC[T;=[K;YV.S"YSEV+ERPG:7:6C^Y_H>QT445X1ZA\7?\ !7']
MC3X-^-/@CXA_:4ABCT/Q5H-M%)-?6T0V:J#+'$D4ZCJY+JJR=1P&RH&W\DO(
MF\WR?*;?G[N.:_H+_:&^#&C?M"_!7Q%\&M>O7MK?7;#REND3<8)599(I-O&[
M;(B-C(SC&1G-?F#_ ,.=OVS_ /A-_P#A&/\ A']$_LWS]G_"2?VY%]EV9^_Y
M>?/Z<X\O-=.%SC$Y4G"G2YXRU[6?XZ;=O4^UR7"Y5G&#MC\9[*=/1<UK.&Z2
MNUJGS=]+:%[_ ()U_P#!+W5?VB]%T_XQ?%R]_L[P4TC_ &2VLY%^UZP8Y&1U
MW#_4Q!U9"Q^<[2% &''W_P#'WXU_!7]@+]GQ=1L?#]E8VEE$;3POX9T\"(WE
MQ@D(O<#/SR2') R3N8@->\)Z?\+?V"_V4['2?%'B;RM!\&Z21=7\J /=3L[.
M^Q,\O+,[;4!/+@9[U\0_"'X??$S_ (*U_M-W/QI^+5M<Z?\ #7PW<>3;Z>DA
M">6"&6QB88W2.,/-*.0",;<Q@>MD644\=.IF./?+1AK-]9-Z\D?7;39?(^.X
MMXFQ&(JQP.#=TKQI1V2BM.>2[VU;>K=^FAT?[ _[+?CK]K_XMW/[=/[5D;7U
MG-?^?X>TRZC(BOI4.$<(>EK#@*B='9><A3O_ $1JOI.DZ7H&E6VAZ)I\-I96
M<"06EK;1A(X8T 5451PJ@   = *L5S9SFU;-\5[1KEA%6A%;1BMDOU_RL>7E
MV7T\OH<B=Y/64GNWU?\ D%%%%>2>@%%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !7P!_P6!_Y/M_8*_[+_=_^
MFN2OO^O@#_@L#_R?;^P5_P!E_N__ $UR4 ??]%%% &9XR_Y%>]_ZX_U%>75Z
MCXR_Y%>]_P"N/]17EU '9?#C_D/ZE^/_ *&:[*N-^''_ "']2_'_ -#-=E0
M5QWQA^.OP^^!VFV5YXUO+I[G4[@P:3I6FV;W%W?2C!*11)RV,C). ,@9R0#V
M->,?M._"7XK:QX]\%_'KX*VEAJ6N^"I+M6T#4Y_*COX+B,1N$D/"2 9P20/F
M!S\N& $_9;_:*U[XBW-YX#^*N@^(-(\5&XO;^TL=<\-R6(;31< 1!"5"L41X
MP<_,2?XL$UL?'W]K_P""G[.@%IXVUFXO-2VJ[:-HT*SW4<9( D=2RK&O(P79
M=V?ES5;X._M8Z'\1?'#?"/QSX"UGP7XR2V,ZZ%K<8*W,8R6:WF7 E  )S@9
M)&0IQQW_  46\'^%=#_96\;>(]'\.V=MJ&K7NFR:G?0VZK+=,MU B[WQEL*H
M !X% 'O/B;Q/IOA/PGJ'C+51(;/3-.EO;D1)E_*CC+M@9&3@' S7CNB_MX>%
M/$-K:ZCHO[/WQ8N;2]1'MKR#P67BD1L%75UE(92#G(SQ7I_Q*\/:EXN^$6O^
M%-&1&O-3\-W=I:+(^U3+);LB@GL,L.:\+\/_ !B_:$_91^#^@V/Q<_9UAF\,
M>'-+M+#4=;T'Q-'<3VZ(JQ"9H"@W G' ; SRU 'MGQB^-/@7X&^%T\4>.+JX
M(N;I+73["QMS-=7UPWW888QR['!]!ZD5S/PU_:P\%^/O'D7PPUSP1XJ\(:_=
MVS7&FZ;XOT@6K7T2@EC"0[!B "2,@\'K@XXGXFZUI7C[]M;X+>1<K=Z1_P (
M_J>L::<?)*\EN3')@]P%1AZ58_;;C73_ !W\%O%%FN+Z#XHV5G$Z_>\F<@2I
MGT8(H- 'T!1110 5\@?\%^/^4-G[0G_9/YO_ $=%7U_7R!_P7X_Y0V?M"?\
M9/YO_1T5 'T!^R?_ ,FL_#3_ +)_HW_I##7?UY3^RKXBU6+]E_X;Q)X4NW"^
M M' =67##[%#S7??\)+J_P#T*%[_ -]+0!L45C_\)+J__0H7O_?2T?\ "2ZO
M_P!"A>_]]+0!L45C_P#"2ZO_ -"A>_\ ?2T?\)+J_P#T*%[_ -]+0!L45C_\
M)+J__0H7O_?2T?\ "2ZO_P!"A>_]]+0!L45C_P#"2ZO_ -"A>_\ ?2T?\)+J
M_P#T*%[_ -]+0!L45C_\)+J__0H7O_?2T?\ "2ZO_P!"A>_]]+0!L45C_P#"
M2ZO_ -"A>_\ ?2T?\)+J_P#T*%[_ -]+0!L45C_\)+J__0H7O_?2T?\ "2ZO
M_P!"A>_]]+0!L45C_P#"2ZO_ -"A>_\ ?2T?\)+J_P#T*%[_ -]+0!L45C_\
M)+J__0H7O_?2T?\ "2ZO_P!"A>_]]+0!L45C_P#"2ZO_ -"A>_\ ?2T?\)+J
M_P#T*%[_ -]+0!L45C_\)+J__0H7O_?2T?\ "2ZO_P!"A>_]]+0!L45C_P#"
M2ZO_ -"A>_\ ?2T?\)+J_P#T*%[_ -]+0!L45C_\)+J__0H7O_?2T?\ "2ZO
M_P!"A>_]]+0!L45C_P#"2ZO_ -"A>_\ ?2T?\)+J_P#T*%[_ -]+0!L45C_\
M)+J__0H7O_?2T?\ "2ZO_P!"A>_]]+0!L5PWQ"_:5^!OPLUH>'/'?Q$L[*_(
M!:T6*29XP>1O$2MLR.?FQP<UH>*?BGIW@C1I?$/C#3SIME#_ *RYO;F.- >P
M!)Y)[ <GM7Y@^)-;U+Q+X@OO$.L7K7-W?7<D]Q.Q),CLQ);GW-?,<1Y]4R:,
M(THJ4Y7WZ)6Z)IZWT]&9SGR['Z"?'#]M3X3?"OPC#JWAO6K3Q%J>HV_F:78Z
M?<AD*G($DK#/EH"",?>)! '!(\;^%'[.'Q7_ &MO%4?QJ_:/U2ZM]&DPUAIP
MS&]Q%G(2)/\ EA!_M?>;J.N^N?\ V"/@=H'C._U#XE^,_ USK%MI=S%%I,3
M?9VGP6D9U/\ K"H\O Z#<<@G&/LX>)-6 P/!]Y_WTM88'#XGB*$,7CM*6\::
MO9VTO+OY+M\[B3GJRYX>\.Z%X3T6V\.>&M)@L;&TC$=M:VT85(U'8 ?F3U).
M35VL?_A)=7_Z%"]_[Z6C_A)=7_Z%"]_[Z6OK8QC%))62-#8HKROX\?M=_"[]
MFSPX/$GQ<F?3A*I^Q6 D1[J\([11 [FYP"W"C(W$5\2^./VHOVVO^"E&M7?P
MX_9L\&WOACP4K^5J5W!,R;D/_/W=@#&1SY$7)!((D S6%7$0I/EWEV1[^4\.
MXW,X.O)JG16]26D5Z=WY+KNT?0W[7G_!5+X-?L^&Y\%_#4P^,O%T9,;6MG/F
MRL9.G[^9?O,#UCCR<@ABAKP;X??L6?M@_P#!0?Q5;?&#]L7QGJ'AWPT6\S3]
M):+RIS$W.VVM3\MLI''F2 NV 2KYW5[M^R'_ ,$[OA+^S$+;Q7K?@FZ\5^+X
M\.-:U*%!%9O_ -.T))$9']]BS^A4';7TG_PDNK_]"A>_]]+62H5:[O6>G9?J
M>K//,LR.#HY-"\]G6FO>?^"+^%>NO==3%^"7P ^$?[.WA%/!?PB\%VNDVG!N
M)8UW3W3@??FE;+2-UY)XZ  <5V58_P#PDNK_ /0H7O\ WTM'_"2ZO_T*%[_W
MTM=B2BK(^/K5JN(JNI5DY2>[;NW\S8HK'_X275_^A0O?^^EH_P"$EU?_ *%"
M]_[Z6F9FQ16/_P )+J__ $*%[_WTM'_"2ZO_ -"A>_\ ?2T ;%%<IXJ^+&C>
M!=*;7?&\4.C6*??O-5U&&WB7ZO(P _.O!/B7_P %@?V-OANTEJGBRY\074><
MVWAJ#[2&^DI*PG\'K6E0KUG:G%OT0U%O8^IJ\N_:._;'^ /[+.DF[^*?C2--
M0>+?::!88FOKGTVQ C:I_ON53_:S7P9\:_\ @L=^T9^T!=/\-OV0OA)J.C-<
MAE^UVL#:CJTZ],QQQH5@X.#@.P."KK7DOA7_ ()G?\%"/CAJLGB?Q5X&O-,D
MOY?,N=5\7:EY<TKGJSKEYR?=EKZ# Y1@:5JF95.5?RJUWZMZ+Y7?H<N)CCVN
M6@HKSD_R2U?SL>K_ !C_ ."A'[4G[8-S<>&OA9J6G?##P0SM%=:SJ6N1V(9.
MXGOI"O.#GR8!O()&)*P?A=XH_P""77[*3IXD\=^)=4^-'B^$[_)TS1&72K:;
MK\JW)C6;!_Y:,9 >"$4UW_PR_P""&]H)(K_XY?%'7=0; $ECX;LHX-H'83SF
M0L.W^K6OI/X4_P#!.[]COX1>7<:/^R[%JUW'@F]\32?VB[$=&V3%HU/^ZBUZ
MN+XBP-*@\-@4Z=/M#1R_Q3?O/Y6^9PX?),-&K[;%S=:IW?PKTCLCYNOO^"PO
M[5?QJNF\,_LA_LD[@F(DF-I<ZM+$O8[8%CCBP,?>W*!7E7[57[.7_!5OX[>
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
MRBBB@#,\9?\ (KWO_7'^HKRZO4?&7_(KWO\ UQ_J*\NH [+X<?\ (?U+\?\
MT,UV5<;\./\ D/ZE^/\ Z&:[*@ KRS]H[XM_&7X)6;_$/PK\.=(\1>%-.TQY
MM<BDU<V=[;NK$F1&961TVX^4*6)!]17J=4]?\/Z%XKT:X\.^)M'MM0L+N,QW
M5G>0K)%*O]UE8$$?6@#PSP/X"^,_QS^/'A;]HSXK^"M/\(:7X7TNX_L'18-5
M6]N[J2YB*F2:1%550(V0O4$8QR357]MO2/VBOC'X#U_X'_#[]GF>^L+N:T:T
M\3?\)18Q)*$>*9OW$CJZX963DCIGH:^AXHHH(EAAC5$10J(HP% Z "G4 >>>
M'O'7Q[UCX>:MJ=W\!(]#U^Q5!I&CZEXFMIX]0Z;LRP9$7&0-W?':O-OBSJ?[
M6'[17@:\^"]M^SDG@V#6E6WUGQ#K/B:VNHK6#<"XBCA^:5B 0#P/IG(^C**
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
M4OQ_]#-=E0 4444 %%%% !1110 4444 %%%% !7R!_P7X_Y0V?M"?]D_F_\
M1T5?7]?('_!?C_E#9^T)_P!D_F_]'14 ?0'[)_\ R:S\-/\ LG^C?^D,-=_7
M ?LG_P#)K/PT_P"R?Z-_Z0PUW] !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%>2?'#]L[X._!7SM*?4_[;UJ/(_LG2Y
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
M'#%NM>TT45\MBL7BL=6=7$3<I/JW?^O0]RAAZ&&IJG2BHI=$%%%%<YL%%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %? '_  6!_P"3[?V"O^R_
MW?\ Z:Y*^_Z^ /\ @L#_ ,GV_L%?]E_N_P#TUR4 ??\ 1110!F>,O^17O?\
MKC_45Y=7J/C+_D5[W_KC_45Y=0!V7PX_Y#^I?C_Z&:[*N-^''_(?U+\?_0S7
M94 %%%% !1110 4444 %%%% !1110 5\@?\ !?C_ )0V?M"?]D_F_P#1T5?7
M]?('_!?C_E#9^T)_V3^;_P!'14 ?0'[)_P#R:S\-/^R?Z-_Z0PUW]<!^R?\
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
MO\[GH8'*L'@7S05YO>4M9/Y_Y!1117BGI!1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 5\ ?\%@?^3[?V"O\ LO\
M=_\ IKDK[_KX _X+ _\ )]O[!7_9?[O_ --<E 'W_1110!F>,O\ D5[W_KC_
M %%>75ZCXR_Y%>]_ZX_U%>74 =E\./\ D/ZE^/\ Z&:[*N-^''_(?U+\?_0S
M794 %%%% !1110 4444 %%%% !1110 5\@?\%^/^4-G[0G_9/YO_ $=%7U_7
MR!_P7X_Y0V?M"?\ 9/YO_1T5 'T!^R?_ ,FL_#3_ +)_HW_I##7?UP'[)_\
MR:S\-/\ LG^C?^D,-=_0 4444 %%%% !1110 4444 %%%% !114&J:IIFB:?
M+JVLZC!:6MNA>>YN9ECCC4=V9B ![FDVDKL">J'B7Q3X;\&Z/+XA\6:Y:Z=8
MP#,MU>3K&B^V3W/8=3VKYW^-G_!1CP?X;>7P[\%]*_M_4!E?[2N%9;2-O]E1
MAYOPVKW#&OCOXK_M8>#/%&L_\)+^T-\9KW6YXR6@T#PT$G= >BJV1;6ZGH2"
M\@Q\T9->!7SZ-6M]7R^#K5/+X5ZOK\OO-L/AL3BY-4(.5MWT7J]E\V?6WQ6_
MX*%7&L:I_P (+^S5X1N-9U&X<QPZG/9NP9O^F, &Y_7+XQCE2*XF^_9YO9RO
MQC_;X^/%MX?M9!NCLK_58Q<RCKY:Y.R,?],XE8\XPIKY!US_ (*<?$G1[-_!
MO[+OP^TWP):W7[IKRRB^W:O=Y.,/=2J2<GH(XTP3QBJW@7]@C_@H7^UKK?\
MPE_B+PGK%JMZ09?$/CR_DMRRGD-B;=<.O<%48?G732X4S/'-5LVFK;J+?+!?
M]NKWI/UM\STH99@*'O8VO=_RT_>?SD[1^:<_0^IO&W_!6G]D[]G+1)?!7[*?
MPI?5W48.HW"FRMI6' =F<-<3D?[2K[-7R7\=/^"G7[6GQ_GDT>Z\?W.EZ?<M
ML31/"R-9Q/NXV%E)FE!Z;7=@?2OK'X)_\$'/AOHQBU7X_P#Q:U'79QAI-+\/
MPBTMP>ZM*^Z21?=1&:^O/@S^R?\ LX_L^0HGP@^#VB:/.B[?[02U\V\8>C7$
MNZ5A[%L5]!#"93A8*#;J6Z+W(?AJ=<,ZPF _W##QBU]J7OR^^2Y5\H(_(SX.
M?\$W_P!M[X^F.]TCX57.@Z=.<_VKXH8V$>#T8*X,S@]<HC"OK3X*?\$&_A]I
M)AU7]H'XO7^MSC#2:7X=A%K;@_W6FDW22+[A8S7Z!45LLPJ4H\F'C&FO[JU^
M;W/,QF:9AF$^?$5')^;;^[M\CSKX,?LD?LV_L^1(/A#\'=%TBX1=O]HBV\Z\
M8>]Q*6E(]MV*]%K$\2_$KX<^# Q\8>/]$TG;][^TM5A@Q]=["O/O$O[>O[&O
MA/=_:O[2'A639]X:=J0O#^5OOS40PN/QDKPA*;\DV>35Q6'I?Q)I>K2_,]<H
MKYB\2_\ !7W]B#0=PTWQSJ^LE>VF>'KA<_0SK&*\]\2_\%S_ (#V>X>$/@]X
MMU C[IU"2VM0W_?$DIQ^%>E1X7XAK_#AI_-<O_I5C@J9YE%+XJT?D[_E<^WZ
M*_/&7_@M1\9/&LC6_P )/V2?/?.$W:C<7Y)]UA@C_+--_P"&R?\ @K[\2./!
MO[+YT:-_]5*/!=S#QZ[[V4J?KC%=O^IN<P_CN%/_ !3BOR;.;_6/+I?PE*?^
M&+_6Q^B%%?G?_P (-_P7)^)7_(:\7MH$,GW?^)CI5IM'_;J#(/QYH_X=F_\
M!1;X@_-\5?VQP(I/O0GQ5J=YM'IL940?0'%'^K>!I?Q\PI+_  MS_)(/[9Q5
M3^%A*C_Q)1_,_0'7?%7ACPO#]I\2^([#3H\9\R^O$A7'KER*X'Q+^VA^R5X1
MW+KG[1W@U73[\5OK\$\B_5(F9OTKY+T+_@A3IT\_VWQY^TQ>WDKG,JV/AT(Q
M/_722=\_4K7?>&O^")G[)ND;9-=\3>,M6<??6?5((HS]!% K#_OJC^S^$J/Q
MXR<_\--K_P!*8?6\_J?#AHQ_Q3O^1VGB;_@K%^PQX=W)!\6;C4Y%ZQZ9H-XW
MY,\2H?P:ORW_ &C?VFOBC^TC\4+_ .(?C/Q1?/')>.^D:<+EA#IT&X^7%$@.
M%VKC)'+'+$DDFOU6\,_\$M_V&/#&V2'X'0WLJ]9=3U>\GW?56EV?^.UY9\</
M^"*?P9^(OC63Q7\+OB#=>"K6Y</=:+%I2WENK=_)S+&T0/7:2X!)P , ?0\.
MYQP;E&*E*"J)M?%-)V\DH7:OZ=#R,XR[B/,*"4W!I/X8MKYOFT=CY?\ V<M&
M_;O_ ."@/A?_ (47IGQGO5\%^&Q&FKWFJWQ")'*7*1R%?WUV<(VV-BRKM )0
M8-?>?[+'_!-S]G;]E];?7K71O^$D\3Q ,?$>MPJS1/ZV\7*0>Q&7YP7-=Q^R
MW^RW\-?V2_AJOPY^',<\WG3FYU/4[U@9[Z<@ NQ     "J!A0.Y))])KP<^X
MGK8VM.A@OW>';VBN5R[N5M[OIVW5SU<JR2GAJ<:N)]^K;=N]NR5^W_#!1117
MR)] %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %? '_!8'_D^W]@K_ ++_ '?_ *:Y*^_Z^ /^"P/_
M "?;^P5_V7^[_P#37)0!]_T444 9GC+_ )%>]_ZX_P!17EU>H^,O^17O?^N/
M]17EU '9?#C_ )#^I?C_ .AFNRKC?AQ_R']2_'_T,UV5 !7'?&'XZ_#[X':;
M97GC6\NGN=3N#!I.E:;9O<7=]*,$I%$G+8R,DX R!G) /8UXQ^T[\)?BMK'C
MWP7\>O@K:6&I:[X*DNU;0-3G\J._@N(Q&X20\)(!G!) ^8'/RX8 3]EO]HK7
MOB+<WG@/XJZ#X@TCQ4;B]O[2QUSPW)8AM-%P!$$)4*Q1'C!S\Q)_BP36Q\??
MVO\ X*?LZ 6GC;6;B\U+:KMHVC0K/=1QD@"1U+*L:\C!=EW9^7-5O@[^UCH?
MQ%\<-\(_'/@+6?!?C)+8SKH6MQ@K<QC)9K>9<"4  G.!D D9"G''?\%%O!_A
M70_V5O&WB/1_#MG;:AJU[ILFIWT-NJRW3+=0(N]\9;"J  >!0!]!7VJZ=IFE
M3:WJ=Y';6EO;M/<7$[A4BC5=S,Q/   ))[8KQ1OV_/A7' GB2?X?>.H_"<ER
M(4\;R>&F&EG+[!)OW;_++<;MF<\8S5G]OG6+[0_V,?%]YITC)))8VENS*?\
MEG+=P1./H4=A^-=!\0O"6@I^R+K'@Y+2,:?!\/IH(8PORHJ61V$>F-H(]Q0!
MM?%;XZ?#OX.^#;?QMXJU.2>WOYHX=)MM,A^T3ZC+(,I' B_ZQF'(Y QWKG?A
MK^UAX+\?>/(OAAKG@CQ5X0U^[MFN--TWQ?I M6OHE!+&$AV#$ $D9!X/7!QX
M)\%]3N_&/Q&_9GTGQ"3+!I_@K4KJWBEY!E2%XHVQW*K$A![8KTW]MN-=/\=_
M!;Q19KB^@^*-E9Q.OWO)G($J9]&"*#0!] 4444 %?('_  7X_P"4-G[0G_9/
MYO\ T=%7U_7R!_P7X_Y0V?M"?]D_F_\ 1T5 'T!^R?\ \FL_#3_LG^C?^D,-
M=_7E/[*OB+58OV7_ (;Q)X4NW"^ M' =67##[%#S7??\)+J__0H7O_?2T ;%
M%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\ ]"A>_P#?
M2T?\)+J__0H7O_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[_P!]+0!L
M45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7O_?2T 1_$?XE^ ?A#X.O?B!\3/%=
MGHNC:?'ONK^^EVHOHH'5V)X5%!9C@ $G%>;?"3_@H/\ L;_'+Q6/!'PT^.>G
MWFJ-$\D=I>65S9&55Y8(;J*-9& YVJ2< G& 2/D[_@O-J?CO4? OPZ\O1]3M
M-!35=0_M+<2;=[LQP?9M^/EWA!=;<\X,F/XJ_./PSI/B#7O$=AH?A2TN;C5+
MV\C@TZWLE9II9W8*BH%Y+%B  .<FO<P64T\5@W5<[/6W96[F\*2E"Y^S?[27
M_!3[X!? ^.?1_#FO6>NZL@(REQBVC/KN7+2^N(P0?[PKX"^/?_!2'Q_\<-7%
MO+)?ZP6FQ8Z>BF"SC<\+Y<*Y9SVRWSGUJ_X=_P"",7[96MR"?7],T73V<YD-
M]JY8Y[Y\E),FO1O"G_!$7XJ1Q^5XB^*UKIZN!YJZ9HTESG_ON6+/XU-/A/(,
M1[V;8Y2C_)&_+_X#"[?SG\D>-B,=.#M1H3J/Y0C]\M?P/ -)^ _[4?QQ<2^.
M/$GA_P ":-(<M-XU\1V^C6Z#.03#*WGR#N#L;Z]*]7^''[&O_!-7X<%-4_:1
M_;AM?$MPGS2:7X.@E^S9[J98HYI)1[KY9_K[1X:_X(H_"^UV_P#"8>/O&E_C
M[_\ 9MM:6F?IO$V/UKT+PU_P2;_8\T+;_:GPI\5:UMZ_VGXC=-WU^S^5^E>[
M2?!V74O98>K-0[4J<8?C+6_F92S#BBO!0C2A!+9.3:7_ (#^AQ_@#]NO_@E)
M^S!;B+X%_#"[\V-=HO\ 1_"Q:[D&,8-Q>.DK#V9N])XE_P""['PLM=W_  AW
MP%\07^/N_P!IZI!:9^NP38_6O<O#7[#_ .R'X3V_V7^R%I$NWI_:<'VW\_M#
M/G\:]"\,^!_A]X+V_P#"'? '2M)V?<_LS1[:#;]-BC%<L\?PE"7,L-5JO^_4
MM_Z28/#\15?CKPC_ (8W_P#2CXI_X>_?M6^/O^2/?L>K/O\ ]5_H]]J6?^_"
M19H_X:0_X+2?$G_D5_@0V@>9]W_BE4M=O_@PD;'XU]\?\)+J_P#T*%[_ -]+
M1_PDNK_]"A>_]]+4_P"L&5TOX&74U_B<I_G8/[(QU3^+C)O_  I1_*Y\#_\
M"B_^"V?Q)_Y&CXP-H'F?>_XJ*TM=O_@O1L?A1_PZ9_;0\?\ _)8?VQQ/O_UN
M=5U'4OK_ *XQYK[X_P"$EU?_ *%"]_[Z6C_A)=7_ .A0O?\ OI:/]<,RI_P*
M=*G_ (::7YW#_5W!2_BSG/\ Q3?Z6/B+PU_P0E^']N5;QE^T)K-\?XQINB16
MN?H7DEKT'PU_P1?_ &-]#VG5F\5ZR1]X:CKBH#_WXBC_ )U].?\ "2ZO_P!"
MA>_]]+1_PDNK_P#0H7O_ 'TM<U;BSB.O\6)DO2T?R2-J>09/2^&BOG=_FV>2
M^&?^":_[#WA3:=._9\TJ<K_%J=U<WF3[B>5Q_2O0O#7[/7P#\&;?^$1^"/A'
M3"GW6L/#EM$WURJ Y]ZV/^$EU?\ Z%"]_P"^EH_X275_^A0O?^^EKRJV99CB
M/XM:<O63?YL[Z>"P='^'3BO1)&M%%%!&L,$:HBC"HBX 'L*=6/\ \)+J_P#T
M*%[_ -]+1_PDNK_]"A>_]]+7$=)L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7
MO_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\
M]"A>_P#?2T?\)+J__0H7O_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[
M_P!]+0!L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7O_?2T ;%%8__  DNK_\
M0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7
MO_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\
M]"A>_P#?2T?\)+J__0H7O_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[
M_P!]+0!L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7O_?2T ;%%8__  DNK_\
M0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7
MO_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\
M]"A>_P#?2T?\)+J__0H7O_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[
M_P!]+0!L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7O_?2T ;%%8__  DNK_\
M0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7
MO_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\
M]"A>_P#?2T?\)+J__0H7O_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[
M_P!]+0!L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7O_?2T ;%%8__  DNK_\
M0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7
MO_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\
M]"A>_P#?2T?\)+J__0H7O_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[
M_P!]+0!L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7O_?2T ;%%8__  DNK_\
M0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7
MO_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\
M]"A>_P#?2T?\)+J__0H7O_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[
M_P!]+0!L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7O_?2T ;%%8__  DNK_\
M0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7
MO_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\
M]"A>_P#?2T?\)+J__0H7O_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[
M_P!]+0!L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7O_?2T ;%%8__  DNK_\
M0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7
MO_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\
M]"A>_P#?2T?\)+J__0H7O_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[
M_P!]+0!L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7O_?2T ;%%8__  DNK_\
M0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7
MO_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[_P!]+0!L45C_ /"2ZO\
M]"A>_P#?2T?\)+J__0H7O_?2T ;%%8__  DNK_\ 0H7O_?2T?\)+J_\ T*%[
M_P!]+0!L45C_ /"2ZO\ ]"A>_P#?2T?\)+J__0H7O_?2T ;%? '_  6!_P"3
M[?V"O^R_W?\ Z:Y*^Y_^$EU?_H4+W_OI:^"_^"M>J7FH_MW_ +!RW6C3VFSX
M_76TS$'=_P 2R3IB@#]#**** ,SQE_R*][_UQ_J*\NKU'QE_R*][_P!<?ZBO
M+J .R^''_(?U+\?_ $,UV5<;\./^0_J7X_\ H9KLJ "O+/VCOBW\9?@E9O\
M$/PK\.=(\1>%-.TQYM<BDU<V=[;NK$F1&961TVX^4*6)!]17J=4]?\/Z%XKT
M:X\.^)M'MM0L+N,QW5G>0K)%*O\ =96!!'UH \,\#^ OC/\ '/X\>%OVC/BO
MX*T_PAI?A?2[C^P=%@U5;V[NI+F(J9)I$555 C9"]01C')-5?VV](_:*^,?@
M/7_@?\/OV>9[ZPNYK1K3Q-_PE%C$DH1XIF_<2.KKAE9.2.F>AKZ'BBB@B6&&
M-41%"HBC 4#H *=0!Y+KGAGXA?M*_ GQ1\,?BG\*Y?!%Q?V8MM/^T:U;WXD<
M /',3;DA5614RIY('%>?7]Q^VEXL^"W_  S=>_ BVL-1N=)&BZAXWF\20/9?
M9=GE/<K$N92[1Y^4#(+9P,;1]-T4 > ?%7]G#QKX(L/ACXV^ &GP:KK/POMS
M9KI-Y<K;G5K*2%8IE\QOE20@,1GC,C'D@ D7A+XW?M'_ !D\(^-/BC\*_P#A
M"O"_@B[?4;?3[O5H;JZU._( C;$61&D9&>>3SUW?+[_10 4444 %?('_  7X
M_P"4-G[0G_9/YO\ T=%7U_7R!_P7X_Y0V?M"?]D_F_\ 1T5 'T!^R?\ \FL_
M#3_LG^C?^D,-=_7 ?LG_ /)K/PT_[)_HW_I##7?T %%%% !1110 4444 %%%
M% &'\1_AIX!^+W@Z]^'_ ,3/"EGK6C:A'LNK"^BW(WHP/5&!Y5U(93@@@C->
M<?!W_@G_ /L?? /QBGQ ^%?P2L=/UF%&6WO[F_NKQX,]6C%S+((VQQN4!L$C
M."0?8Z*N-2I&+BFTGT'=I6"BBBH$%%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %? '_!8'_D^W
M]@K_ ++_ '?_ *:Y*^_Z^ /^"P/_ "?;^P5_V7^[_P#37)0!]_T444 9GC+_
M )%>]_ZX_P!17EU>H^,O^17O?^N/]17EU '9?#C_ )#^I?C_ .AFNRKC?AQ_
MR']2_'_T,UV5 !1110 4444 %%%% !1110 4444 %?('_!?C_E#9^T)_V3^;
M_P!'15]?U\@?\%^/^4-G[0G_ &3^;_T=%0!] ?LG_P#)K/PT_P"R?Z-_Z0PU
MW]<!^R?_ ,FL_#3_ +)_HW_I##7?T %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %? '_!8'_D^W]@K_LO]W_Z:Y*^_P"O@#_@L#_R
M?;^P5_V7^[_]-<E 'W_1110!F>,O^17O?^N/]17EU>H^,O\ D5[W_KC_ %%>
M74 =E\./^0_J7X_^AFNRKC?AQ_R']2_'_P!#-=E0 4444 %%%% !1110 444
M4 %%%% !7R!_P7X_Y0V?M"?]D_F_]'15]?U\@?\ !?C_ )0V?M"?]D_F_P#1
MT5 'T!^R?_R:S\-/^R?Z-_Z0PUW]<!^R?_R:S\-/^R?Z-_Z0PUW] !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !7P!_P6!_Y/M_8*
M_P"R_P!W_P"FN2OO^O@#_@L#_P GV_L%?]E_N_\ TUR4 ??]%%% &9XR_P"1
M7O?^N/\ 45Y=7J/C+_D5[W_KC_45Y=0!V7PX_P"0_J7X_P#H9KLJXWX<?\A_
M4OQ_]#-=E0 4444 %%%% !1110 4444 %%%% !7R!_P7X_Y0V?M"?]D_F_\
M1T5?7]?('_!?C_E#9^T)_P!D_F_]'14 ?0'[)_\ R:S\-/\ LG^C?^D,-=_7
M ?LG_P#)K/PT_P"R?Z-_Z0PUW] !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !7P!_P6!_Y/M_8*_[+_=_^FN2OO\ KX _X+ _\GV_
ML%?]E_N__37)0!]_T444 9GC+_D5[W_KC_45Y=7J/C+_ )%>]_ZX_P!17EU
M'9?#C_D/ZE^/_H9KLJXWX<?\A_4OQ_\ 0S794 %%%% !1110 4444 %%%% !
M1110 5\@?\%^/^4-G[0G_9/YO_1T5?7]?('_  7X_P"4-G[0G_9/YO\ T=%0
M!] ?LG_\FL_#3_LG^C?^D,-=_7 ?LG_\FL_#3_LG^C?^D,-=_0 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5\ ?\%@?^3[?V"O\
MLO\ =_\ IKDK[_KX _X+ _\ )]O[!7_9?[O_ --<E 'W_1110!F>,O\ D5[W
M_KC_ %%>75ZCXR_Y%>]_ZX_U%>74 =E\./\ D/ZE^/\ Z&:[*N-^''_(?U+\
M?_0S794 %%%% !7A7[37[54WABQUOX7_  )L-<UWQY9);F2/P_X=?4(],#2(
M6,^%*@F+?A<'G&<5[K7SA/H7QX_96^+7C/Q]X-^%K>._!_C'5?[4O(=)N0FI
MZ=.0=X$;#]^O)PJYXQRO.0#UOPI\>/ OC'X7:E\6M*CU*/3M(AN7U*UO=/>"
MZMV@3?)&T;X^<+[X.1S7 :+^WAX4\0VMKJ.B_L_?%BYM+U$>VO(/!9>*1&P5
M=764AE(.<C/%='H_Q4\)?M6_L_>)IOA1/*UQ>Z3?:7)I^HQ^1/:7;P,HBF4D
MA3EUY!(P>O!KS?P_\8OVA/V4?@_H-C\7/V=89O#'AS2[2PU'6]!\31W$]NB*
ML0F: H-P)QP&P,\M0![9\8OC3X%^!OA=/%'CBZN"+FZ2UT^PL;<S75]<-]V&
M&,<NQP?0>I%<S\-?VL/!?C[QY%\,-<\$>*O"&OW=LUQINF^+](%JU]$H)8PD
M.P8@ DC(/!ZX..)^)NM:5X^_;6^"WD7*W>D?\(_J>L::<?)*\EN3')@]P%1A
MZ58_;;C73_'?P6\46:XOH/BC96<3K][R9R!*F?1@B@T ?0%%%% !7R!_P7X_
MY0V?M"?]D_F_]'15]?U\R?\ !9KX0?$SX^_\$N/C7\&_@WX-O/$/BCQ#X+EM
M=%T73U!FNYC+&0B D G /?M0!ZY^R?\ \FL_#3_LG^C?^D,-=_7YK_!W_@JE
M^WW\,?A'X5^&U]_P0>^/=U/X>\.6.F37,6J:<$F>"W2(NH+9 )3('O71_P##
MXK]O'_I ?\?_ /P;:=_C0!^@M%?GU_P^*_;Q_P"D!_Q__P#!MIW^-'_#XK]O
M'_I ?\?_ /P;:=_C0!^@M%?GU_P^*_;Q_P"D!_Q__P#!MIW^-'_#XK]O'_I
M?\?_ /P;:=_C0!^@M%?GU_P^*_;Q_P"D!_Q__P#!MIW^-'_#XK]O'_I ?\?_
M /P;:=_C0!^@M%?GU_P^*_;Q_P"D!_Q__P#!MIW^-'_#XK]O'_I ?\?_ /P;
M:=_C0!^@M%?GU_P^*_;Q_P"D!_Q__P#!MIW^-37O_!9+]K>YE$GP^_X(R?%[
MQA9! )M4\-:]92V\4X_UELQD5")8V^5Q@@'H3UH ^_Z*_/K_ (?%?MX_](#_
M (__ /@VT[_&C_A\5^WC_P!(#_C_ /\ @VT[_&@#]!:*_/K_ (?%?MX_](#_
M (__ /@VT[_&C_A\5^WC_P!(#_C_ /\ @VT[_&@#]!:*_/K_ (?%?MX_](#_
M (__ /@VT[_&C_A\5^WC_P!(#_C_ /\ @VT[_&@#]!:*_/K_ (?%?MX_](#_
M (__ /@VT[_&C_A\5^WC_P!(#_C_ /\ @VT[_&@#]!:*_/K_ (?%?MX_](#_
M (__ /@VT[_&C_A\5^WC_P!(#_C_ /\ @VT[_&@#]!:*_/K_ (?%?MX_](#_
M (__ /@VT[_&C_A\5^WC_P!(#_C_ /\ @VT[_&@#]!:*_/K_ (?%?MX_](#_
M (__ /@VT[_&C_A\5^WC_P!(#_C_ /\ @VT[_&@#]!:*_/K_ (?%?MX_](#_
M (__ /@VT[_&C_A\5^WC_P!(#_C_ /\ @VT[_&@#]!:*_/K_ (?%?MX_](#_
M (__ /@VT[_&C_A\5^WC_P!(#_C_ /\ @VT[_&@#]!:*_/K_ (?%?MX_](#_
M (__ /@VT[_&C_A\5^WC_P!(#_C_ /\ @VT[_&@#]!:*_/K_ (?%?MX_](#_
M (__ /@VT[_&I+/_ (+(?MC6]RDWCG_@B?\ &?PKI"G-_P"(O$&N6,=E81_\
M])FC#L%Z#(4GGI0!^@-%?GY)_P %C/VXWD9]+_X(2_'>_MBQ-M?6FL:>8KB/
M^&1"<$JPP02 <$<"F_\ #XK]O'_I ?\ '_\ \&VG?XT ?H+17Y]?\/BOV\?^
MD!_Q_P#_  ;:=_C1_P /BOV\?^D!_P ?_P#P;:=_C0!^@M%?GU_P^*_;Q_Z0
M'_'_ /\ !MIW^-'_  ^*_;Q_Z0'_ !__ /!MIW^- 'Z"T5^?7_#XK]O'_I ?
M\?\ _P &VG?XT?\ #XK]O'_I ?\ '_\ \&VG?XT ?H+17Y]?\/BOV\?^D!_Q
M_P#_  ;:=_C1_P /BOV\?^D!_P ?_P#P;:=_C0!^@M%?GU_P^*_;Q_Z0'_'_
M /\ !MIW^-'_  ^*_;Q_Z0'_ !__ /!MIW^- 'Z"T5^?7_#XK]O'_I ?\?\
M_P &VG?XT?\ #XK]O'_I ?\ '_\ \&VG?XT ?H+17Y]?\/BOV\?^D!_Q_P#_
M  ;:=_C1_P /BOV\?^D!_P ?_P#P;:=_C0!^@M%?GU_P^*_;Q_Z0'_'_ /\
M!MIW^-'_  ^*_;Q_Z0'_ !__ /!MIW^- 'Z"T5^?7_#XK]O'_I ?\?\ _P &
MVG?XT?\ #XK]O'_I ?\ '_\ \&VG?XT ?H+17Y]?\/BOV\?^D!_Q_P#_  ;:
M=_C1_P /BOV\?^D!_P ?_P#P;:=_C0!^@M%? #_\%DOVMVLDMK#_ ((R?%Z[
M\0*Y.H>$+;7K(ZE80'_5W,R%0@B<Y"D.22.0*A_X?%?MX_\ 2 _X_P#_ (-M
M._QH _06BOSZ_P"'Q7[>/_2 _P"/_P#X-M._QH_X?%?MX_\ 2 _X_P#_ (-M
M._QH _06BOSZ_P"'Q7[>/_2 _P"/_P#X-M._QH_X?%?MX_\ 2 _X_P#_ (-M
M._QH _06BOSZ_P"'Q7[>/_2 _P"/_P#X-M._QH_X?%?MX_\ 2 _X_P#_ (-M
M._QH _06BOSZ_P"'Q7[>/_2 _P"/_P#X-M._QH_X?%?MX_\ 2 _X_P#_ (-M
M._QH _06BOSZ_P"'Q7[>/_2 _P"/_P#X-M._QH_X?%?MX_\ 2 _X_P#_ (-M
M._QH _06BOSZ_P"'Q7[>/_2 _P"/_P#X-M._QH_X?%?MX_\ 2 _X_P#_ (-M
M._QH _06BOSZ_P"'Q7[>/_2 _P"/_P#X-M._QH_X?%?MX_\ 2 _X_P#_ (-M
M._QH _06BOSZ_P"'Q7[>/_2 _P"/_P#X-M._QH_X?%?MX_\ 2 _X_P#_ (-M
M._QH _06BOSZ_P"'Q7[>/_2 _P"/_P#X-M._QH_X?%?MX_\ 2 _X_P#_ (-M
M._QH _06BOSZ_P"'Q7[>/_2 _P"/_P#X-M._QH_X?%?MX_\ 2 _X_P#_ (-M
M._QH _06BOS^L_\ @LA^V-;W*3>.?^")_P 9_"ND*<W_ (B\0:Y8QV5A'_ST
MF:,.P7H,A2>>E-D_X+&?MQO(SZ7_ ,$)?CO?VQ8FVOK36-/,5Q'_  R(3@E6
M&""0#@C@4 ?H'17Y]?\ #XK]O'_I ?\ '_\ \&VG?XT?\/BOV\?^D!_Q_P#_
M  ;:=_C0!^@M%?GU_P /BOV\?^D!_P ?_P#P;:=_C1_P^*_;Q_Z0'_'_ /\
M!MIW^- 'Z"T5^?7_  ^*_;Q_Z0'_ !__ /!MIW^-'_#XK]O'_I ?\?\ _P &
MVG?XT ?H+17Y]?\ #XK]O'_I ?\ '_\ \&VG?XT?\/BOV\?^D!_Q_P#_  ;:
M=_C0!^@M%?GU_P /BOV\?^D!_P ?_P#P;:=_C1_P^*_;Q_Z0'_'_ /\ !MIW
M^- 'Z"T5^?7_  ^*_;Q_Z0'_ !__ /!MIW^-'_#XK]O'_I ?\?\ _P &VG?X
MT ?H+17Y]?\ #XK]O'_I ?\ '_\ \&VG?XT?\/BOV\?^D!_Q_P#_  ;:=_C0
M!^@M%?GU_P /BOV\?^D!_P ?_P#P;:=_C1_P^*_;Q_Z0'_'_ /\ !MIW^- '
MZ"T5^?7_  ^*_;Q_Z0'_ !__ /!MIW^-'_#XK]O'_I ?\?\ _P &VG?XT ?H
M+17Y]?\ #XK]O'_I ?\ '_\ \&VG?XT?\/BOV\?^D!_Q_P#_  ;:=_C0!^@M
M%?GU_P /BOV\?^D!_P ?_P#P;:=_C4UM_P %DOVMX8IH_%G_  1D^+WA^]D3
M&AZ7K.O627&MS][:U"*P>4+\Q#%!@=>U 'W_ $5^?7_#XK]O'_I ?\?_ /P;
M:=_C1_P^*_;Q_P"D!_Q__P#!MIW^- 'Z"T5^?7_#XK]O'_I ?\?_ /P;:=_C
M1_P^*_;Q_P"D!_Q__P#!MIW^- 'Z"T5^?7_#XK]O'_I ?\?_ /P;:=_C1_P^
M*_;Q_P"D!_Q__P#!MIW^- 'Z"T5^?7_#XK]O'_I ?\?_ /P;:=_C1_P^*_;Q
M_P"D!_Q__P#!MIW^- 'Z"T5^?7_#XK]O'_I ?\?_ /P;:=_C1_P^*_;Q_P"D
M!_Q__P#!MIW^- 'Z"T5^?7_#XK]O'_I ?\?_ /P;:=_C1_P^*_;Q_P"D!_Q_
M_P#!MIW^- 'Z"T5^?7_#XK]O'_I ?\?_ /P;:=_C1_P^*_;Q_P"D!_Q__P#!
MMIW^- 'Z"T5^?7_#XK]O'_I ?\?_ /P;:=_C1_P^*_;Q_P"D!_Q__P#!MIW^
M- 'Z"T5^?7_#XK]O'_I ?\?_ /P;:=_C1_P^*_;Q_P"D!_Q__P#!MIW^- 'Z
M"T5^?7_#XK]O'_I ?\?_ /P;:=_C1_P^*_;Q_P"D!_Q__P#!MIW^- 'Z"T5^
M?7_#XK]O'_I ?\?_ /P;:=_C1_P^*_;Q_P"D!_Q__P#!MIW^- 'Z"T5\ 7O_
M  62_:WN91)\/O\ @C)\7O&%D$ FU3PUKUE+;Q3C_66S&14(EC;Y7&" >A/6
MH?\ A\5^WC_T@/\ C_\ ^#;3O\: /T%HK\^O^'Q7[>/_ $@/^/\ _P"#;3O\
M:/\ A\5^WC_T@/\ C_\ ^#;3O\: /T%HK\^O^'Q7[>/_ $@/^/\ _P"#;3O\
M:/\ A\5^WC_T@/\ C_\ ^#;3O\: /T%HK\^O^'Q7[>/_ $@/^/\ _P"#;3O\
M:/\ A\5^WC_T@/\ C_\ ^#;3O\: /T%HK\^O^'Q7[>/_ $@/^/\ _P"#;3O\
M:/\ A\5^WC_T@/\ C_\ ^#;3O\: /T%KX _X+ _\GV_L%?\ 9?[O_P!-<E0_
M\/BOV\?^D!_Q_P#_  ;:=_C7D7Q5^+_[=G_!0O\ ;K_95UK7?^"4WQ7^%GA[
MX6_%>77?$?B/Q7<VDULEM)9O#_RR;*X8@D\]: /UBHHHH S/&7_(KWO_ %Q_
MJ*\NKU'QE_R*][_UQ_J*\NH [+X<?\A_4OQ_]#-=E7&_#C_D/ZE^/_H9KLJ
M"BBB@ KP7QG^T5^TU\.OB5:_"_4/V>M'U^Y\17U\/"-[I?BM;1+FW@!D/G),
MC%'2(J6.0"V0N<BO>JI7OAKP]J6MV/B34-#M)]0TQ95TZ^EMU:6U$H D$;$9
M3<%4''4 9H \>^"/PA^,7P;\#^-OB#=:;H^I^._&&MR:Q+H=M=M#91,6R+99
M2,YPS_.1C<0#D L<'XLZG^UA^T5X&O/@O;?LY)X-@UI5M]9\0ZSXFMKJ*U@W
M N(HX?FE8@$ \#Z9R/HRB@#PCXU? #QUX=/PU^(GP%TZ'5-9^&,'V&'1[V[6
M ZII[0+ \8D;Y5DVKP3@?.QY( ->+PE\;OVC_C)X1\:?%'X5_P#"%>%_!%V^
MHV^GW>K0W5UJ=^0!&V(LB-(R,\\GGKN^7W^B@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH *\+_X)[_\D3U;_L>]9_\ 2DU[I4&GZ7IFD0&VTK3H+6-I
M&=H[>%44L3DM@ <D]30!/1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 5Y1^W/_P FC^/?^P"__H:UZO45]86.J6DFGZG917%O*NV6
M">,.CCT*G@B@#'^%W_),_#O_ & K3_T2E;M-BBB@B6""-41%"HB# 4#H .PI
MU !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!X7X!
M_P"4@GC_ /[$32O_ $8U>Z5!'I>F1:A)JT6G0+=RQA);I85$CJ.BEL9('I4]
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!Y1^W/
M_P FC^/?^P"__H:UW7PN_P"29^'?^P%:?^B4K8OK"QU2TDT_4[**XMY5VRP3
MQAT<>A4\$4^***")8((U1$4*B(,!0.@ ["@!U%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !7A?[6'_);/@?\ ]CW+_P"DS5[I4%WI
M>F7\\%S?:=!-):R;[:2:%6:)L8W*2/E..XH GHHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** /"_\ @GO_ ,D3U;_L>]9_]*37
MNE0:?I>F:1 ;;2M.@M8VD9VCMX512Q.2V !R3U-3T %%%% !1110 4444 %%
M%% !1110 4444 9GC+_D5[W_ *X_U%>75ZCXR_Y%>]_ZX_U%>74 =E\./^0_
MJ7X_^AFNRKC?AQ_R']2_'_T,UV5 !1110 4444 %%%% !1110 4444 %%%%
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
M%I)'; 50,DD]A7SE\;##\?OVOO /PV\%(+B/X<:B==\6:I'S'9OF-H;7</\
MEHYC&5]&!_A;'8_MN>-]6\,? NZ\)^%6SKWC2]A\.Z)&IP6ENFV.>.1B+S.>
MQQ0!1^%_[5TFJ?!F_P#CO\2],,.D:CXHN+/P;8Z+IDTUW>VHD,< * L7F=DD
MZ!5PN>*T_ 7[8'@?Q?\ $6T^%7B3P%XO\'ZWJ<+RZ1;>+M%%J+Y5!)$;*[@M
M@'@XY&.3Q77:-X>3X+_!ZS\,^"/#$^KGPYHT<%AIMLZ1RW;1H%X9R%#,<DDG
MJ37SSXC^(6M?%']KGX=#X\> [SX=66@W%Q)X7@U,>>^MW\H11%]HC'E1@%8_
MEW$DX'5UP >__&;X^?"_X"Z ->^(OB%;=I0WV+3K=?-NKQ@.5BB'+>[<*,\D
M5I?"SXCZ%\7OA[I/Q*\,VUU#8:Q:B>VBO8U655R1A@K, <@]"?K6/\</!_A6
MX\">*?'%QX=LY-8@\&ZA:P:G);J9XH3!*QC5R,JI))('7O6#^P[_ ,FF^!O^
MP,/_ $8] &A^U)\9-:^"GPM.N^#]/MKWQ%JFJ6NE>'+&[5FCN+R>0*JD*02
MH=L C[H%5_B/^TYH/PNUR'P%-X)\4^+?$D>GQW.H:=X+\/277D(P($C%F"HK
M%6P-Q;CZ9Y;Q=_Q>;]MW0O!J_O-(^&&CMK.IKU5M3N@$MHV_VECQ*I^M>T^(
M_$'A_P ':%>^*_$NI06-A8V[3WUY.VU8XU&2Q/T_P% '+? S]H'X>?M">'KK
M7O DUY%)I]T;;5-,U.V\FZLIA_!(F2 >O()'!&<@@<;XC_;C^'6DZIJL/AKX
M>>-O$^F:#</#K7B+PWH'VBPM'3_6 REUW;.K%00!R"17#_LX6GB2'X>_&;]J
MN+3)M,C\<&[U+PY:2KMD%K;0W#0SD=BYD)]]N1D$$^A?L(:+IFF_LC>#;:TM
MTV7.FR3W'R@^8\DTC.6]>3CGL,4 >E>!_&WA?XC^$K#QSX+U:.^TO4[<36=U
M&" ZGCD'!4@@@J0"""" 16K7@/\ P3DW6GP3UOP["Q^R:1X[U2SL%SPL*LC
M#VW.WYU[]0 4444 %%%% !1110 4444 0ZAJ%AI-C-JFJWT-M;6\9DN+BXE"
M1Q(!DLS'A0!R2:\Y^%'[6?PB^-GQ)U3X9_#F[OKZ;2M/^V2:I]E"6=Q&)%C/
ME.6W/AFQG;M.#AC7?^(O#F@^+M$N/#?B?2+>_P!/NTV75G=1AXY5R#M93P1P
M.#7A?@*RL]-_X*)>*=/TZTBM[>#X9V:0P0QA$C43Q *JC@ #L* /1?C!^T+X
M2^#VHV'AZ\\-^(M?UG4XGELM#\+Z.]Y=21(0&D(!"JH) RS#]#5?X'?M-_#W
MX\7NJ:!H.GZQH^MZ(RC5O#_B*P^S7EL#P&*;F!&>.#D9&0,C/H%Q-:6<4E_=
MRQQ)%&6EFD8*$0<DDGH!UKYW_9D@;XO_ +4?C[]JG0K5HO#5S91^'] NF0K_
M &F(C%YMROJ@:$!6[AL=5( !ZK^T9\7$^!OP7U[XEI#'-=6%IMTVVE!*S74C
M".%" 06&]ER <[0>G6L7Q#^T3-\,=#\/>'O'7@O7-?\ &NI:+%=WV@^"]#>X
M,;;0)7^9]L<8DW*"SYXKF?V@O^+O?M+?#S]G^'][I^D2-XN\3H.1Y<!,=JC>
MH:8D%3V(->F_%?QSXS\!Z3;ZCX)^$NH^+;B:8QRVFG7L$#0J%)#L96&1GCC)
MYH RO@A^TAX#^.\NJZ7X?T_5])UC0IECUC0/$%A]FO+0MG:63+#!P>A.,<XR
M,YGQ@_;#^"7P6\36?@KQ!K%QJ&L7=W%!)INC0K/):>8P57G)95B&2."=Q!R%
M-><_L?Z_#XW_ &C_ (C_ ! ^(,#:!XYU*&VBE\$SV\B26%A$J(DID=5$Y;$>
M648'!Z.H%K]O;P?X5\+?";3;WPYX=L[*?5/B7IEUJ4UM;JCW4S/(3)(P&7;G
MJ>E 'T=7FGCOXQ>)[#]HSP?\"O!-G93?VA876J^*9[J)W:TL(QLB*;6 #/+E
M<D$# XYKTLD 9)KPC]DD'XI?$7X@_M/W(WP:[K/]C>&)#T&F6?R;T]%DDRQ'
M]Y#0!;\6_MV?#;PO<:A<V?PV\>:SHVDW4D&I^)M(\,L^G6[HQ23,KNF0K @D
M CT)XSZGX9^(7@OQ?X&M?B3H/B*VET.[LOM<6HR/Y<8BQDLQ?&S&#N#8VD$'
M&*XS]K'XH^'OA3\#]8:^@%S?ZU:2Z5H6D1)NDO[N=#&D:(.6&6W-@= >Y ,7
M[-_P*A\"?LN>'_@G\1]+M[_9IK_VQ87"B2(O-,\[PL.C!6D*^AV^E $OPJ_:
MT^$/QJ^)FI_##X<WE]?SZ7IQO)-4%J%LYXQ(L9\IRVY\,V,[=IP<,:],KY^\
M$6-EIG_!17Q'IVFV<5O;P?"VU2""",(D:BYB 55'  '85] T %%%% !1110
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
M73=&_:XD^.]_\;?B3^R=)XHO+.1[?P=;+XYTZWM='M<D;HXV9BTSC!:0X/H!
MP!]844 >=KXY_:(U7X53^)['X&66E>*8+X+%X7U3Q)#,MS;@KN9;F$;$=@6V
MAN 5YZUY1\:]!_:6_:]\.V7P<UKX!?\ "#:++JD%QK^N:KXAMKMDCC.2D$</
M+,>S=#C!P#FOINB@!L4:0Q+"F=J* ,G/ IU%% !1110 4444 %%%% &9XR_Y
M%>]_ZX_U%>75ZCXR_P"17O?^N/\ 45Y=0!V7PX_Y#^I?C_Z&:[*N-^''_(?U
M+\?_ $,UV5 !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% &9XR_Y%>]
M_P"N/]17EU>H^,O^17O?^N/]17EU '9?#C_D/ZE^/_H9KLJXWX<?\A_4OQ_]
M#-=E0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
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
M9+6\LF897S(I " 0#@C(.#SD&@#LJ*\ATK]N#X!Z_K>E^'?#VJ:IJ%YJE_\
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
M=%\"OA+I'P,^$NB?"O1+EIX=)M2DEPXP9IG9I)9,=@TCL0.P(':@#S#]J?\
MY.8^!'_8Q:E_Z(BINA:9IU[_ ,%(]=OKRPAEFM/AG;O:RR1@M"S7(4LI/W25
M)&1V)'>O7_%7PP\#^-O$V@^,?$VB?:=1\,W,MQHEQ]ID3[/)(H5SM5@KY '#
M @8XI;7X9^";/XCW7Q:MM%V^(+S2TTZXO_M$AW6ROO";"VP?-@Y"YXZT >0^
M$X6MO^"A7C<:<BI)<_#FREDP,"242JBLWJ0 !]!47_!-V^T:/]EV)+FXC35+
M76M1/B@S,!(EUY[DF7/0^5Y?)["O8[/X9^";#XC7GQ9M=&VZ_?Z9'I]U?_:)
M#OMT;<J;"VP<XY"YXZUQ7C']BS]FWQWXMN_&OB'X=@WNH2>9J8M-2N;>&]?.
M=TL44BHYSR3CYB23G- '>6WC#P%:V^CVEIXITB*+6(1_8$4=[$JWL80,/LX!
M_>*$*GY,C!':M>N3UKX&_"K7]9\+:]J7@^#[1X*S_P (QY$CQ)8@JB[51&"L
MH$:8# @;1C%=90!X5^W5^RW\3?VH_">@Z!\,_BM_PBD^E:C)<75QYDR^>C1[
M0O[H@\'GFOFC_AT3^U?_ -'B_P#DS?\ _P 77Z&45SU,+1JRYI;^I]#E_%&;
MY9A5AZ$HJ*OO&+W=]VKGXT?MH?L)?M!_LTZI;^)?&^HW'BW2[Z &3Q19QS2I
M#(OR^3,7RT9"@%2QVL#@'*D _8O_ &$OVA/VEM4N/$O@C4;CPEI=C 3'XHO$
MFB2:1N/)A*8:0D$EBIVJ!R<L ?V7HKF_LZE[3FOIV_X)]+_Q$C-/[.]A[./M
M-N?I;_!:U[>=O(_//_AT3^U?_P!'B_\ DS?_ /Q=>Z_L*_L6?&/]ESQ9KNO_
M !,^-_\ PE<&JZ=';VMOYMPWD.LFXM^]8CD<<5]+T5T0PE&G)2COZGSN-XKS
MG,,++#UI1<9;VA%=;[I7Z'CW[?O_ ":!XV_Z\8/_ $JAKD?VC_#&M> -"\$_
MM?> +!Y=4\%:?;Q>(K2$?-J&C2(HF0^ICW%AGA=S-_"*]V^('@#PG\4?!U]X
M!\=:5]MTG4HU2\M?/>+S%#!Q\T;*P^90>".E7SHNE-HO_".R6$<EB;7[,UK*
M-Z-%MV["&SN&W@YZUTGS9\U?LC?%KPSX2^ GQ?\ C4ETL^EVWQ(UW4[9_N_:
M$,-N\2C/=\J![L*YCX-^$?VJ9OV;M1\%3?L\Z-JUMX^AN]3U75KWQ8EO/<O?
M+N\UHC&=CJACP"<@H#P>!]!6/[*'P"TSX67_ ,%=-\!>1X8U34!>W^EQZG=
M33@QD,7\W?C,4?RAMORCBO08((;6!+:VB6..- L:(N J@8  ["@#P;]BSXFZ
M9JO[.*> ?B[>V-IJ'A+4I?"FM6VK3QA'=&\N*$ASAMT96,#G<48#/2N'_:*^
M%&D?L:W^D?&O]FWQ#>:%<:EXDMK.^\$I=M)8ZP)"=RI"Q)5L>F0H/R["!GWK
M4?V:/@?J\GBA]6\ V]ROC*:&;Q%#//*T=U+%GRY A?$3C<3NC"DDY)S6/\/O
MV,/V<OAGXGMO&/AGP 7U&Q.=.N-2U*XN_L?IY2S2,J$=FQN'8T <KX@_Y24Z
M#_V2>;_TMEK-_P""A.NZ7X[\'Z+^S/X8OHKSQ1XM\16D<>G6[AY+6W1M[W$@
M'W$&!R<<;CT4X]-^+/[+7P)^./B&V\5?%#P.=2U"TLQ:V]RFJW5N5A#LX3$$
MJ C<S'D$\U;^%7[.'P/^"4TMW\,/AQ8:7<S)LEO1OFN&7J5\V5F?!."1G!Q0
M!X[^U/KWC[X@?M,>"?A5\+?!UOXCE\%Q'Q5J^F7>I"UA:4-Y5KOD8$!D)+XP
M20X]S7/>+/%OQO\ AU^U;X(^/GQ=^%6G^%M-UG'A/5I].UY;Q)UF+/"9,*NS
M:X#9.<B/'&*^F= ^%W@7PQXYUSXDZ-H?EZWXC6!=8OWN9)&F6%-D:@.Q6,!>
MR!0<#.<"D^)_PK\!_&3PG)X(^(VA#4--EFCF,'VB2)ED1MRLKQLK*0?0C@D=
M": /%/"NKV/PS_X*+>,=.\6W*6:>/O#6GW'A^>X;:EQ);QI"T*L>"YV.=O\
ML^XSTG[?'C[1/"?[-VN^&I[A9=6\30#2]$TR,[I[N:5U4A$'+;5))/T'4@'O
M?BI\$/A5\;="B\._%'P;;:O;V[;K9IG=98&.,E)48.A.!G##.!G->>77_!/3
M]F&32+FSL?"NH6M_*%-MKB:Y<R7EDZMN1X7D=@A5N>G/?- 'IGP@\+7O@;X2
M^%_!.I$?:='\.V5C<8.1OB@2-N>_*FO$/#GB+3?@E^W_ .,;'Q]=I867Q(T>
MPN/#NHW3!8I9K:-8FM]YX#D[R 3_ '!U9<^Q?!;P9\2? /A2;PW\2_B:WBV>
M&];^S=5FL5@G^R;$"1S;20\@8/E^K C/-7?B7\)OAO\ &/P^?"WQ-\'V>L6.
M_>D5TAW1-C&Y'4AHVQQE2#@XH ^>?VP_A@GPC;1?BKX/^*GC.'4]8^(EE'-9
MS>*IVMA'-*[NB19 "@@ +T"\5V7CW_E(/X#_ .Q%U+_T,UM>#_V%OV7O!.OV
MWB;3/AJ+F\LI%>QDU34[F[6W*D%=J2R,G! ()!(QUKOK_P"&?@G4_B'8?%6^
MT;?KVEV$ME8WWVB0>7!(<NNP-L.3W()&>M 'C7[#,]F/%/Q?L]:=/^$F'Q.O
MGU)9"/--J=HMSZ^7GSMO;!XK(^%_V2]_:'_:(U?P@R-H3:?9PSR0?ZI]06SD
M\[;C@L'\S?\ [3<]17JGQ-_9/^!'Q<\3?\)IXP\&-_:[1"*;4M.U&>SEG0
M+(877S. !ELD   X%='X*^$GPX^'/@EOAUX'\)6VFZ,Z.LMG;EAYF\;79W)+
MNQ'!8DMP.>!0!Y!^PMJOPQ@_8BTV:YNM,%A:V%[_ ,)2 4PC;Y#+YX]3%M^]
MU7;VQ7"_L^?&/Q5\#/V&?A\]CX<@U#6/$WBI](\,1:K,8[>!KBZG\N69@,B,
M88\8)##! YKUW4/V#?V5M12SAD^%ZQ16EO' 8;;5;J);F./[@G"RCSB/[SY;
M@ G Q7<>-_@S\+_B+X!3X7^+O!EG<Z#"D:VVGHIB6W\L80Q&,J8RHX!4@@$C
MH30!\]_%&+XRV7[57P8C^+_C+PI?7+:S?-9V?AW39;=[=6@4.6,LKLR,0 #@
M<J?P[3X;?\G_ /Q)_P"Q1TG^0KK?"/[(WP!\%:SI_B;1_!+OJVF7@NK35KW5
M+F>Y$@1HQNDDD)90K$!#\@SG&>:ZS3?AGX)TCX@ZG\4M.T;R]=UBSAM=1O?M
M$A\V*+[B["VQ<>H )QS0!=\47_A.STHVGC.]T^*QOV%FT>IR(L5PT@*^20_#
MEAD;><],5\N_'SX5Z7^QEXA\/_%K]G#Q'>Z-)K7BFVL-0\"B[:6RU592=WEQ
M,2588QQG;N&W9@ _3/Q ^'7@CXJ>%Y_!?Q"\-V^JZ9<D&6UN0<9!R&!!#*P[
M,I!'K7$_#O\ 8T_9U^%_B>#QEX7\!%M3L_\ CPNM2U&XNS:#MY0F=@A'9@-P
M]: /)O[-^+>H_M_?$*T\#>/M%T+4)/#FF-IAUS1FO#<6(AC\P0@2H5439+8S
MD^F*]*^#GP)^(7@OXT>)/C!\1/B9I6KZAKVBV]I=66DZ,;-?W1Q',P,KY.U2
MH/UYXKJOBQ^SS\(OC9/9W_Q#\)BYO=/!%AJ5K=2VUU;@]EEA96QR3M)(R2<5
M)\*_@)\*_@O]NE^'WAQ[:XU/9_:-[<W\]S/<[,[=TDSLV!N;@$#GI0!\>E=4
M;_@DYX>-G)LM!XESJSM&71;;^U)N74?>42>7D=Z]J^*7[/7[0_QQ^&X\)>*_
MVA/"']BW#VUU;WFF^$6C:/8RO')%)]I('0 $=0Q'>O8?"/P7^&'@?X:#X/>'
MO"4"^&A%-&=)NG>XC=)79Y%8RLS,"SL>2>O'2N-T;]AS]FC0M1@OK/P)<O':
M7*SV>GW.O7LMK!(&W!EA>4IUYP01[4 <O!/:VW_!2B6/Q9(@EF^&")X9:XP
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
ML!) /\(/:OJ?Q'\+O OB[QGH7Q \1Z']JU7PTT[:)</<R!;9IE"R-Y88(Q(
MY921C(P:V[^PL]4L9],U&V2:WN86BGAD&5=&!#*?8@D4 ?,'[2'Q%T;4]7^
M7[5H)3PU;ZL_]I7!^9;-;Z&$!I/0)Y;@GU7'7 KZ/\1^./"/A/PC<>//$'B&
MTMM'M;7[3+J#S#RO+QD,&'#9XP!G)( SFLGP]\#_ (5^&/A<OP6T[PA!)X86
M.2,:1?RO=1E7D,C F9F8_.Q8<\'&,8%<%9?\$^OV3;*\%Q_PK*2:%23%8W6M
M7DMO&3G)$;2D=SUSC/% &=_P3MT;5H/@=J?C;5-/DM5\8>,-0URR@E&&6"4Q
MHAQZ'RB1Z@@]#69^VW>+X!^+GP=^.>LHRZ%X>\27-IK-SM)6U6[2)5E;'10(
MW)/L!U(SWGP0^ /BSX%>)+C2-!^+-]J?@5K)UTOPSJ\(EFTR;>A417&=QA"[
MP$(XR.IR:]"\2^&?#WC+0KKPQXKT6VU'3KV(QW5E>0B2.5?0J>.N"/0@$4 0
MZMXV\':#X8;QKK/BK3[71T@$QU2:\1;?RR,AA(3M(/;!Y[5XA\.KFQ3_ (*)
M?$&/Q+(@OI_".F'PN9B,M9A$,XBSU'G9)QZ'T-=%H/[!/[)_AW68M;LOA/#*
MT$QEM[:^U*YN+>-R<DB&61D/T((KK/BW^SO\(/C@UI<_$;PBMW=Z>"+#4+>Y
MEMKF 'J%EB96V]]I)&3G% 'F6N_9+_\ X*1Z$WA1D:XLOAY<#Q2UO_#$TK>2
MLN/XMS1D \X*GIBI/V#],TZ-OBUK"6$(NYOC!K$,UR(QO>-/*9$+=2H,CD#H
M"Y]37J'PG^!7PJ^"%C<V7PT\)Q6!OI!)?73S237%RPS@R2RLSMC)P"<#)P!F
MM#P'\,_!/PSCU:+P3HOV)=;UJ?5M3'VB23SKR;;YDGSL=N=J_*N%&. * /&?
M^"=?A[0;'X/>)1::-;1_:/'.IQ7&R!1YD:,JHC<<J%) !X&3ZUY+H;-_PZ&U
MB'<=L5Q,L:D_=7^V%.!^)/YU]@?#SX9>"?A5H]QH'@/1?L-I=:A-?3Q?:))=
MT\K9=\R,Q&3C@' ["O*?VE/@+IWAO]B[Q-\'/@9X)N65TC>PTBTDEN)7=KV*
M:3:79F;^)L9X XH H_M*ZM\,&_X)]:E/I=SIK:+/X8M8M'%H4\IILQB)8P.-
MPD X'(VG.,&L'QT-1T'X@_LN7'C"1H;B"UN+74);@XQ=2:=;($8G^)I,C'<U
MZ#X<_8H_9PM]4T[QK>?"Z%=1@$5R;1[N;[(ET%&9/LV_R@V1S\N,\XSS7<_%
M;X/_  Y^-OA?_A#_ (F^&8M3L1,LT2M(\;PR@$!T="&1L$C((R"0<@D4 >0_
MM"Z_HEW^VQ\#_#=KJL$E_92ZW->6B2 R0QRVB"-F'\(;RWQGKM-7/#\B1_\
M!1_7XI'"M)\*[<QJ3RP%XF2/6NR\&?LG? 'P!JNE:_X7\!)#J.C7<MS9ZE)?
M3R3M++%Y3M([N3+\A( ?(7)V@9JQ\6OV9/@K\;]:L_$?Q&\(M=:A8VYMX;RV
MU">VD,!))B9H74LF6;@YQN.,9.0#QCQ58?%*_P#^"AFM6G@SQSH^A:C+X"MO
M[&EUW2&NQ/:"0&5(0)$P?-#L<$\!N.":]$^%/P&^)7AK]H#4/C=\2_BCI&K7
MU_X7&E26&D:(UF'59TD29\RON*A63..C 9&.>N^*7[/OPB^,UG8VOQ!\(1W;
MZ9_R#;R"XDM[BUZ?<EB97 X'&<' R*3X5_L]_"?X,WEWJO@+PY+#?7\2QWVH
M7FHSW4\R*<A2\SL0,\X&![4 >9?\$X-%TFP^!>HZM9Z?%'=7_BW46O+A4&^8
MI*57<>I 48 Z#)]37T#6#\.?AGX)^$WAYO"O@#1OL%@UW-<F#[1)+^]E8L[;
MI&8\D],X':MZ@#XY_;5_X)U?M _M*_'*?XG_  Y_:1_X1C3)=-M[==*\Z[7:
M\:D,^(F"\YKR7_AS;^UY_P!'I_\ DSJ'_P 77Z045Z%/,\72@H1:LO)%JI)*
MQ^ O[1?[+WQE_9H^)=Y\._B7X6NQ*ETRV&J16[M;:FA/RRP2$8<,.<?>4Y#
M$$5]%_LG_P#!*+]K;XF?#0?$2W^)DWPXBU.;-MI=]]JAN;J%1\L[QQE2BDE@
MH;D@$XP03^M]%=M7/L1.DHQBD^KW_ MUI-'YO_\ #FW]KS_H]/\ \F=0_P#B
MZ^QOV*O@#X[_ &:O@;!\,/B-\0O^$GU.+4KBX;5=\K;DD8%4S*2W&*]:HKSJ
M^/Q.)AR3:MZ)$2G*2LSCOBG\/O@U\;;23X5?$S3M,U658%O%TV6X"W5NC%D6
M=-I$D8)5E#C .".>17B_P&F\4_ C]IWQ#^S3X=\;ZEXK\*67@_\ MFQM-0N!
M-<:/,)%5;3S,<!E.0N!PZ$#.XMZ[\7/V:/@M\<;^UUKXB^#A<ZC91>5::G:W
M<MM<Q)DG8)(F4E<LQ .0"QQUJ[\)/@/\)_@9IUQIWPP\'PZ:+QP][<&5YI[E
MAG!>61F=L9. 3@9. ,UQD'RW\-/@MXD_:S^%T?[6MG\0EF^*5OKDMQID5XRO
M8Z<EM,XCTUH2"$1EQ)N/.9 3G+$]9\!_VC->_:?_ &H-#.9_#X\&>&+T>)=$
M_M93%=ZB\GDE8T1R)XT WAR#M/'H6]0\4_L1?LS^+_$=WXHU/X=F"ZU"4R:D
MNFZK=6D5VQ))\R.&14.223P"23G.:U+W]E#]GJ[.@O!\+]/LI/#-PDVC3Z9N
MM9(&5MV"\15I%)R2'+ DDGDDT >/>-_!/C+QW_P4+U;2O!'Q2OO"5S%\-()9
MM0T^RAG>6,7: Q$2@@ E@V1SE17L?P3_ &=?"_P8OM6\3CQ!JOB#Q'KSHVL^
M(]<N!)<W 486,8 "1KV4#L 20JXZ*W^&'@:U^)5Q\7X-$V^(KK25TR?4/M,A
MW6H<2"/9NV#Y@#N"[N.N*WZ ,GQQX=\'^+_#-SX2\>6=M<Z7J86WN+2[DVI/
MDC"=0220, <U\O\ [9/P-^$G[.7@73/BQ\!-''A;QK;:[:0:$ND74BMJ)=P'
MMVB+$2*5R2,<XP>&P?IKXB_#7P/\6?"L_@GXB>'HM3TNY96EM979?F4Y5@R$
M,I!Z$$&N,\!?L<_L\_#GQ1!XUT'P,\^J6AS8WFK:G<7K6OIY8GD8(1V8#</6
M@#BKFZ7PA_P4CLKW7V6"/Q5\+VL].=VPKW4=T)'B4GJ0D9./]H5)\:Y8?&?[
M=/PC\*:/();CPSI^L:MK C.3;02PI'&7QTW/&!S_ 'AZUZI\6O@A\+_CCH\&
MB?$WPM'J,=I-YUE,)GAFMI./FCEC973.!D X.!D' JO\)/V??A+\#ENW^'/A
M46ESJ!!O[^XN9+BYN,= TLK,V!_=! [XH \Q_P""=%U;Z3\(_$'PWOIECU3P
MOXSU&TU.U<X>,F3<K$==I^8 ]#L;TI_[%;Q^)_B)\8?BEI3B72M:\<FWTVZ0
MY2X6V5E:1#_$I\P8(X/X5V7Q(_8^_9]^*WBJ;QKXN\$/_:=U&([^ZT_4[BT-
MX@&-LHA=0_  R1G  SP*[OP?X.\+^ /#=IX/\%Z%;Z;IEC%Y=I9VL>U(QG)^
MI))))Y)))))H TJ*** "BBB@ HHHH **** "BBB@ HHHH **** ,SQE_R*][
M_P!<?ZBO+J]1\9?\BO>_]<?ZBO+J .R^''_(?U+\?_0S795QOPX_Y#^I?C_Z
M&:[*@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#,\9?\ (KWO_7'^
MHKRZO4?&7_(KWO\ UQ_J*\NH [+X<?\ (?U+\?\ T,UV5<;\./\ D/ZE^/\
MZ&:[*@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#,\9?\BO>_]<?Z
MBO+J]1\9?\BO>_\ 7'^HKRZ@#?\ #_B:#PSK-[//:O*)7*@(P&,,:V?^%KZ?
M_P! F;_OX*** #_A:^G_ /0)F_[^"C_A:^G_ /0)F_[^"BB@ _X6OI__ $"9
MO^_@H_X6OI__ $"9O^_@HHH /^%KZ?\ ] F;_OX*/^%KZ?\ ] F;_OX*** #
M_A:^G_\ 0)F_[^"C_A:^G_\ 0)F_[^"BB@ _X6OI_P#T"9O^_@H_X6OI_P#T
M"9O^_@HHH /^%KZ?_P! F;_OX*/^%KZ?_P! F;_OX*** #_A:^G_ /0)F_[^
M"C_A:^G_ /0)F_[^"BB@ _X6OI__ $"9O^_@H_X6OI__ $"9O^_@HHH /^%K
MZ?\ ] F;_OX*/^%KZ?\ ] F;_OX*** #_A:^G_\ 0)F_[^"C_A:^G_\ 0)F_
M[^"BB@ _X6OI_P#T"9O^_@H_X6OI_P#T"9O^_@HHH /^%KZ?_P! F;_OX*/^
M%KZ?_P! F;_OX*** #_A:^G_ /0)F_[^"C_A:^G_ /0)F_[^"BB@ _X6OI__
M $"9O^_@H_X6OI__ $"9O^_@HHH /^%KZ?\ ] F;_OX*/^%KZ?\ ] F;_OX*
M** #_A:^G_\ 0)F_[^"C_A:^G_\ 0)F_[^"BB@ _X6OI_P#T"9O^_@H_X6OI
M_P#T"9O^_@HHH /^%KZ?_P! F;_OX*/^%KZ?_P! F;_OX*** #_A:^G_ /0)
MF_[^"C_A:^G_ /0)F_[^"BB@ _X6OI__ $"9O^_@H_X6OI__ $"9O^_@HHH
M/^%KZ?\ ] F;_OX*/^%KZ?\ ] F;_OX*** #_A:^G_\ 0)F_[^"C_A:^G_\
M0)F_[^"BB@ _X6OI_P#T"9O^_@H_X6OI_P#T"9O^_@HHH /^%KZ?_P! F;_O
MX*/^%KZ?_P! F;_OX*** #_A:^G_ /0)F_[^"C_A:^G_ /0)F_[^"BB@ _X6
MOI__ $"9O^_@H_X6OI__ $"9O^_@HHH /^%KZ?\ ] F;_OX*/^%KZ?\ ] F;
M_OX*** #_A:^G_\ 0)F_[^"C_A:^G_\ 0)F_[^"BB@ _X6OI_P#T"9O^_@H_
MX6OI_P#T"9O^_@HHH /^%KZ?_P! F;_OX*/^%KZ?_P! F;_OX*** #_A:^G_
M /0)F_[^"C_A:^G_ /0)F_[^"BB@ _X6OI__ $"9O^_@H_X6OI__ $"9O^_@
MHHH /^%KZ?\ ] F;_OX*/^%KZ?\ ] F;_OX*** #_A:^G_\ 0)F_[^"C_A:^
MG_\ 0)F_[^"BB@ _X6OI_P#T"9O^_@H_X6OI_P#T"9O^_@HHH /^%KZ?_P!
MF;_OX*/^%KZ?_P! F;_OX*** #_A:^G_ /0)F_[^"C_A:^G_ /0)F_[^"BB@
M _X6OI__ $"9O^_@H_X6OI__ $"9O^_@HHH /^%KZ?\ ] F;_OX*/^%KZ?\
M] F;_OX*** #_A:^G_\ 0)F_[^"C_A:^G_\ 0)F_[^"BB@ _X6OI_P#T"9O^
M_@H_X6OI_P#T"9O^_@HHH /^%KZ?_P! F;_OX*/^%KZ?_P! F;_OX*** #_A
M:^G_ /0)F_[^"C_A:^G_ /0)F_[^"BB@ _X6OI__ $"9O^_@H_X6OI__ $"9
MO^_@HHH /^%KZ?\ ] F;_OX*/^%KZ?\ ] F;_OX*** #_A:^G_\ 0)F_[^"C
M_A:^G_\ 0)F_[^"BB@ _X6OI_P#T"9O^_@H_X6OI_P#T"9O^_@HHH /^%KZ?
M_P! F;_OX*/^%KZ?_P! F;_OX*** #_A:^G_ /0)F_[^"C_A:^G_ /0)F_[^
M"BB@ _X6OI__ $"9O^_@H_X6OI__ $"9O^_@HHH /^%KZ?\ ] F;_OX*/^%K
MZ?\ ] F;_OX*** #_A:^G_\ 0)F_[^"C_A:^G_\ 0)F_[^"BB@ _X6OI_P#T
M"9O^_@H_X6OI_P#T"9O^_@HHH /^%KZ?_P! F;_OX*/^%KZ?_P! F;_OX***
M #_A:^G_ /0)F_[^"C_A:^G_ /0)F_[^"BB@ _X6OI__ $"9O^_@H_X6OI__
M $"9O^_@HHH /^%KZ?\ ] F;_OX*/^%KZ?\ ] F;_OX*** #_A:^G_\ 0)F_
M[^"C_A:^G_\ 0)F_[^"BB@ _X6OI_P#T"9O^_@H_X6OI_P#T"9O^_@HHH /^
M%KZ?_P! F;_OX*/^%KZ?_P! F;_OX*** #_A:^G_ /0)F_[^"C_A:^G_ /0)
MF_[^"BB@ _X6OI__ $"9O^_@H_X6OI__ $"9O^_@HHH /^%KZ?\ ] F;_OX*
M/^%KZ?\ ] F;_OX*** #_A:^G_\ 0)F_[^"C_A:^G_\ 0)F_[^"BB@ _X6OI
M_P#T"9O^_@H_X6OI_P#T"9O^_@HHH /^%KZ?_P! F;_OX*/^%KZ?_P! F;_O
MX*** #_A:^G_ /0)F_[^"C_A:^G_ /0)F_[^"BB@ _X6OI__ $"9O^_@H_X6
MOI__ $"9O^_@HHH /^%KZ?\ ] F;_OX*/^%KZ?\ ] F;_OX*** #_A:^G_\
M0)F_[^"C_A:^G_\ 0)F_[^"BB@ _X6OI_P#T"9O^_@H_X6OI_P#T"9O^_@HH
MH /^%KZ?_P! F;_OX*/^%KZ?_P! F;_OX*** #_A:^G_ /0)F_[^"C_A:^G_
M /0)F_[^"BB@ _X6OI__ $"9O^_@H_X6OI__ $"9O^_@HHH /^%KZ?\ ] F;
K_OX*/^%KZ?\ ] F;_OX*** *FN?$>RU;29].CTV5&F3:&9Q@5R5%% '_V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>17
<FILENAME>qualyslogo.jpg
<TEXT>
begin 644 qualyslogo.jpg
M_]C_X  02D9)1@ ! 0$!+0$M  #_VP!#  T)"@L*" T+"PL/#@T0%"$5%!(2
M%"@='A@A,"HR,2\J+BTT.TM -#A'.2TN0EE"1TY05%54,S]=8UQ28DM35%'_
MVP!# 0X/#Q01%"<5%2=1-BXV45%145%145%145%145%145%145%145%145%1
M45%145%145%145%145%145%145%145'_P  1" %R :(# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
MIUO;I<0#E%/\9_PKN ,# Z5M1I?:9Y^88VW[JF_7_(****ZSP@HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ K&\0:%'JD1DCPERHX;^][&MFBE**DK,TIU
M94I*<'J>37-M-:S-%,A1UZ@U%7IVKZ1;ZI;E) %E'W)!U!_PKSW4=-N=.G,=
MQ&1SPW8UP5*3AZ'TV$QD,0K;2[%.BBBLCM"BBB@ HHHH ,9HHIR(TCA$4LQX
M  SF@!O6NG\.^&VN&6ZO4*PCE4/5_P#ZU7?#GAKR2MW?("_5(SV]S75 8X%=
M5*CUD>)C<PM>G1^__(15"J%4  < #M2T45UGAA1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %5[VS@OK=H+A RG\P?458HH:N.,G%W1Y[K?A
MRXTYC)#NFM_[P'*_6L.O7B 001D'M7-:SX5AN<S66(I.24[-_A7)4H=8GN87
M,T_=K??_ )G#45/=6D]G,8IXV1AZBH*YCV4TU=!12@$G &370Z/X6N+O;-=9
MAAZX/WF_PIQBY.R,ZM:%&/--V,>PT^YOYA';Q%CW/8?C7>:+X?M]+ D8B6XQ
MRY' ^E:-I9V]E"(K>(1I[=ZGKLIT5'5[GSV*Q\ZWNQTC^84445N><%%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!7O+&
MVOHC'<PJX]<<CZ&N5N_!LOV@?99U,3'^/JM=E142IQEN=-'%5:'P,R-*\/66
MG*&*B:;N[C./H*UZ**I1459&52I.H^:;NPHHHIF84444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%9FM:[8:);^;=R_-_#&O+-^%>;:WXXU3479+9S:09X$9^8
M_4T >H7NK:?81F2ZO(HU!P<MDY^@K+G\::!$N5O1)[(IKQMW:1V=V+,QR23D
MDTE 'L-OXXT&;[UT8O\ ?4UIV6O:3?EA:W\+E>O./YUX710!]"@@@$'(/0BB
MO%]'\6:MI+ ).9H> 8Y3D8'8>E>D>'/%ECK@$0_<W07)B8]?7![T =!1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 4=2UC3M
M*,8OKI(#)G;N!YQUZ52_X2_P_P#]!.+\F_PKEOBK][3OH_\ 2O/J /H"VN(;
MNVCN+=Q)%(-RL.XJ6LCPE_R*NF_]<16O0 4444 %%%% !1110 4444 %%%%
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
MRUUVQ%Q =KCB2,]4-:E<UX2\*IH*&:24R74BX?!^4>P_QKI: "BBB@ HHHH
M\3\8'/BO4?\ KJ?Y"JV@(LFN62L,CS5_G5WQM'Y7BR_'JX;\P#69I<ODZI:R
M%@H6522>PS0![W12(RNBNA#*PR".XI: "BBB@ HHHH **** /)/B1_R-3?\
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
M()Y;:9)H9&CD0Y5E/(->N>+O"D.N0^?!MCOD'RMV<>AKR[4]'U#2I2EY;/&
M=H?'RGZ'O0!UFF?$>Y@@\N_M1<,. ZMM)^M7#\3(<<:8^?\ KJ/\*\YHH V=
M>\2ZAKK*+EPD*_=B3@?4^IK&KHO#_A#4=7F5GC:WMNIE<8R/8=Z/&MA!INK1
MV=LNV..( >I]Z ,G1O\ D,V7_7=/_0A7O->0>#O#EYJ.J6]R\3QVD3"0R$8!
MP> /7D5Z_0!6U*RAU&PFM)U#)(N.>Q['\#7B6M:1=:-?O:W*8(Y5NSCU%>[5
MFZ[HEIKEB;>Y7##E)!U0T >&JS(P9&*L.A!P176:/X^U*Q5(KH"[A7^]P_YU
M4UGP9JVEN2D1N8>TD0SV[CM7.D$'!&* /1_^%F0_] Q_^_H_PK'UCQ_J-\KQ
M6:"TB88R.7_.N0JS9:?>7\FRTMY)F'78N<?6@"L268DDDGN:*],\-^"QID$M
M]J01[I4;8@Y5.#S[FO- K.^%!))P * .N^&?_(R/_P!<&_F*]6K@?AYX>O;.
MYDU*[C:$%#&D;#!.>IQ^%=]0!YW\5?O:=]'_ *5Y]7H/Q5^]IWT?^E<AHVAW
M^LW CM86*Y^:0\*OXT >N>$O^15TW_KB*UZK:;9QZ?I\%G$24A0*">M6: "J
MFK6*:EIEQ9O@>:A4$C.#V-6Z* /GZYA>WN)(9 0R,5((Q4==)X_BM8_$\YMW
M+,P#2C^Z_I^6*YQ5+,%4$D\ "@#N_ACI9DNY]3=05C'EQG/\1Z\?0UZ365X8
MTQ=*T*VM@!YFW<Y QDGFM6@ KBOB)H#7MHNI6R%IH!AU4=5]?PKM:" 1@\B@
M#YZKJ_"WC.?1H_LMTK7%KGY1GE/I[>U;/BWP,\LS7VD(/FRTD.<<^J_X5Y_/
M!-;2M%/&T<B]588(H ]/O_B)I<4&;..6>4\;67:![UYOJFHW&JW\EY<MNDD/
M;H!V%5*NZ9I-]JMP(;.!I&S@GLOU/:@";P[ITNJ:U;6T>0"P9FQD*!SDU[D
M   , 5SOA+PQ%H-L9)")+R0?.XZ*/05T5 '*ZMJ<]S_:$L$\T5IIY"MY)VO*
MYX(W'H!52._U+3FGN3/-)'9E?M<$\HD^1N0R,!U]J=JD)T]M2L+E9%T^_(D2
MY"[EC;(+!@.F:C6&.[L[O1-$D\VVN7R9F0[85/7YOXN>@H [.WF%Q;13 8$B
M!P/J,T4EI";>S@@)W&.-4)]<#%% $M%%% $-U:P7D#07,2RQ-U5AD5YOXE\!
MSVIDN]+S-!G/D_Q+]/6O3J* /GN1'C=D=2K*<$$8(-)7M^L>'-,UB,BYMP),
M8$J<,.<UPNJ_#N_@8OI\J7"9.$;Y6 _K0!Q5:6BQ:1),QU:YFBC X$29)JM=
MZ?>V)'VJUEAR< NI -5J /6O#T'A.UBB>RFMWF=<!I6'F'/8@UU=?/0)!R#@
MUW?P^TJ_N[P:G-<3I;Q'Y1N/[P_X4 >E4444 %%%% !37C208D17'HPS3J*
M,RZ\.Z-=RF6?3H7<]3C'\JEL]&TRQ5EMK&&,-UPN?YU>HH     !@#L*JMIU
MD]V;M[:-IR-N]ADXJU10 BJJ*%50JCH ,4M%% !1110 =:J76F6%W$8KBTAD
M0\D%15NB@#)A\,Z'!*LL6FP*ZG(.*TXXHHL^7&B9Z[0!3Z* $90ZE6&01@BJ
MEII6GV4>RVLXHUSG 7O5RB@ HHHH K7.GV=W-%-<VZ2O#DH6&=M3I''&,1HJ
M#T48IU% !1110 57O[N.QL9KN7[D2%R/7%6*X;XFZIY-C#IL;+NF.^0=P!T_
MK0!YU?74E[>S74SEWD8L2>M;?@;2_P"TO$,1=6\J#]ZQ'8CI^M<[7J_PZTD6
M6BF\D0"6Z.0>^T=!^>: .NHHHH **** "JMYIUE?1M'=6L<JMUW+_6K5% &,
M/">@*01I<.1]?\:U8H(H%VQ1)&.F%&*DHH **** $95=2K*&!Z@C-)'&D2[8
MT5!Z*,4ZB@ HHHH **** "BBB@ HHHH 9)#%, )8T<#LR@UBWOA#0[P2%K)8
MY'_C0D$'^5;M% '(0?#O2(ITD:6>55.2C$8/L>*ZR&&.")8H45(U& JC %/H
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "O-/$/ACQ%K6MS79MU6-FVH&E4[5[5Z710!P.D?#F.*82ZE<B
M91@B.,8!/<$UWD:)%&L:*%11@ =A3J* "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
<@ HHHH **** "BBB@ HHHH **** "BBB@#__V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193601650768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Feb. 12, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-35662<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">QUALYS, INC.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">77-0534145<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">919 E. Hillsdale Boulevard, 4th Floor<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Foster City<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">CA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">94404<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">650<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">801-6100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common stock, $0.001 par value per share<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">QLYS<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,637<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">36,977,259<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentsIncorporatedByReferenceTextBlock', window );">Documents Incorporated by Reference</a></td>
<td class="text"><div style="margin-top:4pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Portions of the registrant's Proxy Statement for its 2024 Annual Meeting of Stockholders are incorporated by reference in Part III of this Annual Report on Form 10-K where indicated. Such proxy statement will be filed with the Securities and Exchange Commission within 120 days of the registrant's fiscal year ended December&#160;31, 2023.</span></div><span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001107843<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates whether any of the financial statement period in the filing include a restatement due to error correction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFinStmtErrorCorrectionFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentsIncorporatedByReferenceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Documents incorporated by reference.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-23<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentsIncorporatedByReferenceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193601782176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Audit Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_AuditorInformationAbstract', window );"><strong>Auditor Information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">248<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">GRANT THORNTON LLP<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">San Jose, California<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_AuditorInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Auditor Information</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_AuditorInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600030208">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 203,665<span></span>
</td>
<td class="nump">$ 173,719<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashCurrent', window );">Restricted cash</a></td>
<td class="nump">1,500<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term marketable securities</a></td>
<td class="nump">221,893<span></span>
</td>
<td class="nump">147,608<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net of allowance of $778 and $736 as of December&#160;31, 2023 and 2022, respectively</a></td>
<td class="nump">146,226<span></span>
</td>
<td class="nump">121,795<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">26,714<span></span>
</td>
<td class="nump">30,216<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">599,998<span></span>
</td>
<td class="nump">473,338<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term marketable securities</a></td>
<td class="nump">56,644<span></span>
</td>
<td class="nump">59,206<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">32,599<span></span>
</td>
<td class="nump">47,428<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating leases - right of use asset</a></td>
<td class="nump">22,391<span></span>
</td>
<td class="nump">33,752<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets, net</a></td>
<td class="nump">62,761<span></span>
</td>
<td class="nump">45,412<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">9,715<span></span>
</td>
<td class="nump">12,801<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">7,447<span></span>
</td>
<td class="nump">7,447<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent', window );">Noncurrent restricted cash</a></td>
<td class="nump">1,200<span></span>
</td>
<td class="nump">2,700<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other noncurrent assets</a></td>
<td class="nump">19,863<span></span>
</td>
<td class="nump">18,857<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">812,618<span></span>
</td>
<td class="nump">700,941<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">988<span></span>
</td>
<td class="nump">2,808<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">43,096<span></span>
</td>
<td class="nump">42,592<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenues, current</a></td>
<td class="nump">333,267<span></span>
</td>
<td class="nump">293,728<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities, current</a></td>
<td class="nump">11,857<span></span>
</td>
<td class="nump">13,060<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">389,208<span></span>
</td>
<td class="nump">352,188<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityNoncurrent', window );">Deferred revenues, noncurrent</a></td>
<td class="nump">31,671<span></span>
</td>
<td class="nump">23,490<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, noncurrent</a></td>
<td class="nump">16,885<span></span>
</td>
<td class="nump">29,121<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other noncurrent liabilities</a></td>
<td class="nump">6,680<span></span>
</td>
<td class="nump">7,013<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">444,444<span></span>
</td>
<td class="nump">411,812<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note 9)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock: $0.001 par value; 20,000 shares authorized, no shares issued and outstanding as of December&#160;31, 2023 and 2022</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock: $0.001 par value; 1,000,000 shares authorized, 36,909 and 37,362 shares issued and outstanding as of December&#160;31, 2023 and 2022, respectively</a></td>
<td class="nump">37<span></span>
</td>
<td class="nump">37<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">597,921<span></span>
</td>
<td class="nump">512,486<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(1,704)<span></span>
</td>
<td class="num">(1,947)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="num">(228,080)<span></span>
</td>
<td class="num">(221,447)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">368,174<span></span>
</td>
<td class="nump">289,129<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders&#8217; equity</a></td>
<td class="nump">$ 812,618<span></span>
</td>
<td class="nump">$ 700,941<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479130/326-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479130/326-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -SubTopic 210<br> -Topic 954<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480632/954-210-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193601001040">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets (Parenthetical) - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Accounts receivable, net of allowance</a></td>
<td class="nump">$ 778<span></span>
</td>
<td class="nump">$ 736<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value (in USD per share)</a></td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, authorized (in shares)</a></td>
<td class="nump">20,000<span></span>
</td>
<td class="nump">20,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, issued (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, outstanding (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in USD per share)</a></td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, authorized (in shares)</a></td>
<td class="nump">1,000,000<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, issued (in shares)</a></td>
<td class="nump">36,909<span></span>
</td>
<td class="nump">37,362<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, outstanding (in shares)</a></td>
<td class="nump">36,909<span></span>
</td>
<td class="nump">37,362<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193596863216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Operations - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 554,458<span></span>
</td>
<td class="nump">$ 489,723<span></span>
</td>
<td class="nump">$ 411,172<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of revenues</a></td>
<td class="nump">107,485<span></span>
</td>
<td class="nump">102,788<span></span>
</td>
<td class="nump">89,439<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">446,973<span></span>
</td>
<td class="nump">386,935<span></span>
</td>
<td class="nump">321,733<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">110,472<span></span>
</td>
<td class="nump">101,186<span></span>
</td>
<td class="nump">81,289<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="nump">111,691<span></span>
</td>
<td class="nump">97,221<span></span>
</td>
<td class="nump">76,487<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">61,741<span></span>
</td>
<td class="nump">57,981<span></span>
</td>
<td class="nump">76,274<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">283,904<span></span>
</td>
<td class="nump">256,388<span></span>
</td>
<td class="nump">234,050<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">163,069<span></span>
</td>
<td class="nump">130,547<span></span>
</td>
<td class="nump">87,683<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Other income (expense), net:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">16,905<span></span>
</td>
<td class="nump">5,191<span></span>
</td>
<td class="nump">2,287<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other expense, net</a></td>
<td class="num">(1,323)<span></span>
</td>
<td class="num">(2,038)<span></span>
</td>
<td class="num">(573)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Total other income, net</a></td>
<td class="nump">15,582<span></span>
</td>
<td class="nump">3,153<span></span>
</td>
<td class="nump">1,714<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">178,651<span></span>
</td>
<td class="nump">133,700<span></span>
</td>
<td class="nump">89,397<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax provision</a></td>
<td class="nump">27,056<span></span>
</td>
<td class="nump">25,708<span></span>
</td>
<td class="nump">18,437<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 151,595<span></span>
</td>
<td class="nump">$ 107,992<span></span>
</td>
<td class="nump">$ 70,960<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net income per share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in USD per share)</a></td>
<td class="nump">$ 4.11<span></span>
</td>
<td class="nump">$ 2.81<span></span>
</td>
<td class="nump">$ 1.82<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in USD per share)</a></td>
<td class="nump">$ 4.03<span></span>
</td>
<td class="nump">$ 2.74<span></span>
</td>
<td class="nump">$ 1.77<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average shares used in computing net income per share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">36,879<span></span>
</td>
<td class="nump">38,453<span></span>
</td>
<td class="nump">39,030<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">37,602<span></span>
</td>
<td class="nump">39,344<span></span>
</td>
<td class="nump">40,118<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193601771408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Comprehensive Income - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract', window );"><strong>Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 151,595<span></span>
</td>
<td class="nump">$ 107,992<span></span>
</td>
<td class="nump">$ 70,960<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract', window );"><strong>Other comprehensive income (loss), net of tax</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax', window );">Net change in unrealized gains (losses) on available-for-sale debt securities, net of tax</a></td>
<td class="nump">2,813<span></span>
</td>
<td class="num">(2,520)<span></span>
</td>
<td class="num">(1,409)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent', window );">Net change in unrealized gains (losses) on cash flow hedges, net of tax</a></td>
<td class="num">(2,570)<span></span>
</td>
<td class="num">(434)<span></span>
</td>
<td class="nump">2,900<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss), net of tax</a></td>
<td class="nump">243<span></span>
</td>
<td class="num">(2,954)<span></span>
</td>
<td class="nump">1,491<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income</a></td>
<td class="nump">$ 151,838<span></span>
</td>
<td class="nump">$ 105,038<span></span>
</td>
<td class="nump">$ 72,451<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and adjustment, of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of other comprehensive income (loss) attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193596149632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flow from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 151,595<span></span>
</td>
<td class="nump">$ 107,992<span></span>
</td>
<td class="nump">$ 70,960<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization expense</a></td>
<td class="nump">26,991<span></span>
</td>
<td class="nump">34,622<span></span>
</td>
<td class="nump">35,897<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetImpairmentCharges', window );">Write off of noncurrent asset</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">625<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Provision for credit losses</a></td>
<td class="nump">547<span></span>
</td>
<td class="nump">590<span></span>
</td>
<td class="nump">402<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Loss on disposal of property and equipment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">6<span></span>
</td>
<td class="nump">12<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss', window );">Loss on non-marketable securities</a></td>
<td class="nump">533<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation, net of amounts capitalized</a></td>
<td class="nump">69,079<span></span>
</td>
<td class="nump">53,408<span></span>
</td>
<td class="nump">67,579<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments', window );">Amortization (accretion) of premiums (discount) on marketable securities, net</a></td>
<td class="num">(5,712)<span></span>
</td>
<td class="nump">833<span></span>
</td>
<td class="nump">3,869<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCredits', window );">Deferred income taxes</a></td>
<td class="num">(16,636)<span></span>
</td>
<td class="num">(20,251)<span></span>
</td>
<td class="num">(9,723)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(24,978)<span></span>
</td>
<td class="num">(13,387)<span></span>
</td>
<td class="num">(9,221)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other assets</a></td>
<td class="num">(3,407)<span></span>
</td>
<td class="nump">3,878<span></span>
</td>
<td class="num">(15,665)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(1,578)<span></span>
</td>
<td class="nump">2,107<span></span>
</td>
<td class="num">(32)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities', window );">Accrued liabilities and other noncurrent liabilities</a></td>
<td class="nump">451<span></span>
</td>
<td class="nump">3,867<span></span>
</td>
<td class="nump">9,322<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Deferred revenues</a></td>
<td class="nump">47,720<span></span>
</td>
<td class="nump">25,189<span></span>
</td>
<td class="nump">46,591<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">244,605<span></span>
</td>
<td class="nump">198,854<span></span>
</td>
<td class="nump">200,616<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flow from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireMarketableSecurities', window );">Purchases of marketable securities</a></td>
<td class="num">(306,812)<span></span>
</td>
<td class="num">(178,788)<span></span>
</td>
<td class="num">(368,450)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities', window );">Sales and maturities of marketable securities</a></td>
<td class="nump">242,432<span></span>
</td>
<td class="nump">347,837<span></span>
</td>
<td class="nump">363,941<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property and equipment</a></td>
<td class="num">(8,786)<span></span>
</td>
<td class="num">(15,361)<span></span>
</td>
<td class="num">(24,424)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from disposal of property and equipment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">6<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Purchases of intangible assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(8,620)<span></span>
</td>
<td class="num">(1,230)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_PaymentsToAcquireMaturitiesOfNotesReceivable', window );">Maturity of note receivable</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">625<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash (used in) provided by investing activities</a></td>
<td class="num">(73,166)<span></span>
</td>
<td class="nump">145,068<span></span>
</td>
<td class="num">(29,532)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flow from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchase of common stock</a></td>
<td class="num">(170,800)<span></span>
</td>
<td class="num">(317,344)<span></span>
</td>
<td class="num">(129,977)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="nump">45,576<span></span>
</td>
<td class="nump">24,483<span></span>
</td>
<td class="nump">49,994<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Payments for taxes related to net share settlement of equity awards</a></td>
<td class="num">(22,346)<span></span>
</td>
<td class="num">(17,615)<span></span>
</td>
<td class="num">(27,815)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from issuance of common stock through employee stock purchase plan</a></td>
<td class="nump">6,077<span></span>
</td>
<td class="nump">4,445<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeasePrincipalPayments', window );">Principal payments under finance lease obligations</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(90)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash used in financing activities</a></td>
<td class="num">(141,493)<span></span>
</td>
<td class="num">(306,031)<span></span>
</td>
<td class="num">(107,888)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase in cash, cash equivalents and restricted cash</a></td>
<td class="nump">29,946<span></span>
</td>
<td class="nump">37,891<span></span>
</td>
<td class="nump">63,196<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash, cash equivalents and restricted cash at beginning of period</a></td>
<td class="nump">176,419<span></span>
</td>
<td class="nump">138,528<span></span>
</td>
<td class="nump">75,332<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash, cash equivalents and restricted cash at end of period</a></td>
<td class="nump">206,365<span></span>
</td>
<td class="nump">176,419<span></span>
</td>
<td class="nump">138,528<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosures of cash flow information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Cash paid for income taxes, net of refunds</a></td>
<td class="nump">34,920<span></span>
</td>
<td class="nump">39,739<span></span>
</td>
<td class="nump">35,080<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Non-cash investing and financing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1', window );">Purchases of intangible assets recorded in accrued liabilities and other noncurrent liabilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,110<span></span>
</td>
<td class="nump">120<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid', window );">Purchases of property and equipment recorded in accounts payable and accrued liabilities</a></td>
<td class="nump">$ 144<span></span>
</td>
<td class="nump">$ 470<span></span>
</td>
<td class="nump">$ 2,086<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_PaymentsToAcquireMaturitiesOfNotesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash outflow (inflow) from the acquisition and maturities of notes receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_PaymentsToAcquireMaturitiesOfNotesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Future cash outflow to pay for purchases of fixed assets that have occurred.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxesAndTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) and income tax credits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxesAndTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) on investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3)(d)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 321<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479536/321-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeasePrincipalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for principal payment on finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeasePrincipalPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in accrued expenses, and obligations classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482312/912-310-45-11<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net book value of a nonmonetary asset transferred or exchanged in connection with the acquisition of a business or asset in a noncash transaction. Noncash is defined as transactions during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period. Nonmonetary assets and liabilities are assets and liabilities that will not result in cash receipts or cash payments in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The charge against earnings resulting from the write down of long lived assets other than goodwill due to the difference between the carrying value and lower fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireMarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for purchase of marketable security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireMarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the aggregate amount received by the entity through sale or maturity of marketable securities (held-to-maturity or available-for-sale) during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193601744224">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statements of Stockholders' Equity - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-In Capital</div></th>
<th class="th"><div>Accumulated Other Comprehensive Income (Loss)</div></th>
<th class="th"><div>Retained Earnings (Accumulated Deficit)</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance (in shares) at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">39,253<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2020</a></td>
<td class="nump">$ 404,482<span></span>
</td>
<td class="nump">$ 39<span></span>
</td>
<td class="nump">$ 401,359<span></span>
</td>
<td class="num">$ (484)<span></span>
</td>
<td class="nump">$ 3,568<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">70,960<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">70,960<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss), net of tax</a></td>
<td class="nump">1,491<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,491<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Issuance of common stock upon exercise of stock options (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">725<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Issuance of common stock upon exercise of stock options</a></td>
<td class="nump">49,994<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">49,993<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,148)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">(129,977)<span></span>
</td>
<td class="num">$ (1)<span></span>
</td>
<td class="num">(13,793)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(116,183)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested', window );">Issuance of common stock upon vesting of restricted stock units (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">530<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Taxes related to net share settlement of equity awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(248)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Taxes related to net share settlement of equity awards</a></td>
<td class="num">(27,815)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(27,815)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">67,579<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">67,579<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance (in shares) at Dec. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">39,112<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Dec. 31, 2021</a></td>
<td class="nump">436,714<span></span>
</td>
<td class="nump">$ 39<span></span>
</td>
<td class="nump">477,323<span></span>
</td>
<td class="nump">1,007<span></span>
</td>
<td class="num">(41,655)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">107,992<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">107,992<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss), net of tax</a></td>
<td class="num">(2,954)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,954)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Issuance of common stock upon exercise of stock options (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">468<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Issuance of common stock upon exercise of stock options</a></td>
<td class="nump">24,483<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">24,483<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,460)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">(317,344)<span></span>
</td>
<td class="num">$ (2)<span></span>
</td>
<td class="num">(29,558)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(287,784)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested', window );">Issuance of common stock upon vesting of restricted stock units (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">329<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Taxes related to net share settlement of equity awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(132)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Taxes related to net share settlement of equity awards</a></td>
<td class="num">(17,615)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(17,615)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Issuance of common stock through employee stock purchase plan (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">45<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Issuance of common stock through employee stock purchase plan</a></td>
<td class="nump">4,445<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,445<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">53,408<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">53,408<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance (in shares) at Dec. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37,362<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Dec. 31, 2022</a></td>
<td class="nump">289,129<span></span>
</td>
<td class="nump">$ 37<span></span>
</td>
<td class="nump">512,486<span></span>
</td>
<td class="num">(1,947)<span></span>
</td>
<td class="num">(221,447)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">151,595<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">151,595<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss), net of tax</a></td>
<td class="nump">$ 243<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">243<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Issuance of common stock upon exercise of stock options (in shares)</a></td>
<td class="nump">582<span></span>
</td>
<td class="nump">582<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Issuance of common stock upon exercise of stock options</a></td>
<td class="nump">$ 45,576<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">45,575<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,342)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">(171,219)<span></span>
</td>
<td class="num">$ (1)<span></span>
</td>
<td class="num">(12,990)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(158,228)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested', window );">Issuance of common stock upon vesting of restricted stock units (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">414<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Taxes related to net share settlement of equity awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(167)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Taxes related to net share settlement of equity awards</a></td>
<td class="num">$ (22,346)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(22,346)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Issuance of common stock through employee stock purchase plan (in shares)</a></td>
<td class="nump">60<span></span>
</td>
<td class="nump">60<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Issuance of common stock through employee stock purchase plan</a></td>
<td class="nump">$ 6,077<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">69,119<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">69,119<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance (in shares) at Dec. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">36,909<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Dec. 31, 2023</a></td>
<td class="nump">$ 368,174<span></span>
</td>
<td class="nump">$ 37<span></span>
</td>
<td class="nump">$ 597,921<span></span>
</td>
<td class="num">$ (1,704)<span></span>
</td>
<td class="num">$ (228,080)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during period for restricted stock vested.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of other comprehensive income (loss) attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of an employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193604987120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>The Company and Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">The Company and Summary of Significant Accounting Policies</a></td>
<td class="text">The Company and Summary of Significant Accounting Policies<div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Description of Business </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Qualys, Inc. (the &#8220;Company&#8221;, "we", "us", "our") was incorporated in the state of Delaware on</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December 30, 1999</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is headquartered in Foster City, California and has wholly-owned subsidiaries throughout the world. The Company is a leading provider of cloud-based IT, security and compliance solutions that enable organizations to identify security risks to their IT infrastructures, help protect their IT systems and applications from ever-evolving cyber-attacks and achieve compliance with internal policies and external regulations. The Company&#8217;s cloud solutions address the growing security and compliance complexities and risks that are amplified by the dissolving boundaries between internal and external IT infrastructures and web environments, the rapid adoption of cloud computing and the proliferation of geographically dispersed IT assets. Organizations can use the Company&#8217;s integrated suite of solutions delivered on Qualys' Enterprise TruRisk Platform to cost-effectively obtain a unified view of their security and compliance posture across globally-distributed IT infrastructures.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying consolidated financial statements and footnotes have been prepared in accordance with U.S. GAAP as well as the instructions to Form 10-K and the rules and regulations of the SEC. Certain prior year amounts have been reclassified to conform with the current year presentation. In the opinion of management, the accompanying consolidated financial statements reflect all adjustments, which include only normal recurring adjustments, necessary for the fair presentation of the Company&#8217;s consolidated financial position, results of operations and cash flows for the periods presented. The accompanying consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany transactions and balances have been eliminated upon consolidation.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of the consolidated financial statements in conformity with U.S. GAAP requires management to make certain estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of assets and liabilities at the date of the consolidated financial statements and the reported results of operations during the reporting period. The Company&#8217;s management regularly assesses these estimates, which primarily affect revenue recognition, allowance for credit loss, the valuation of goodwill and intangible assets, leases, stock-based compensation and income tax provision. Actual results could differ from those estimates and such differences may be material to the accompanying consolidated financial statements.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Concentration of Credit Risk</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company invests its cash and cash equivalents with major financial institutions. Cash balances with any one institution at times may be in excess of federally insured limits. Cash equivalents are invested in high-quality investment grade financial instruments and are diversified. The Company has not experienced any losses in such accounts and believes it is not exposed to any significant credit risk.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Credit risk with respect to accounts receivable is dispersed due to the large number of customers. Collateral is not required for accounts receivable. As of December&#160;31, 2023 and 2022, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">no customer or channel partner accounted for more than 10% of the Company's revenues and accounts receivable balance.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash, Cash Equivalents, Restricted cash and Short-Term and Long-Term Marketable Securities</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash and cash equivalents include cash held in banks, highly liquid money market funds, and fixed-income U.S. Treasury and government agencies, all with original maturities of three months or less when acquired. The Company&#8217;s short-term and long-term marketable securities consist of fixed-income U.S. and foreign government agency securities, corporate bonds, asset-backed securities and commercial paper. Management determines the appropriate classification of the Company's investments at the time of purchase and reevaluates such designation at each balance sheet date. The Company classifies its marketable securities as either short-term or long-term based on each instrument's underlying remaining contractual maturity date. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023 and 2022, the Company had a restricted cash balance of $2.7 million, of which $1.5 million is related to cash held in escrow as part of the Blue Hexagon acquisition and $1.2 million in the form of a letter of credit issued to the landlord of the Company's California headquarter office lease as security deposit.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents are stated at cost, which approximates fair market value. Short-term and long-term marketable securities are classified as available-for-sale debt securities (AFS debt securities) and are carried at fair value. Unrealized gains and losses in fair value of the AFS debt securities are reported in other comprehensive income (loss). When the AFS debt securities are sold, cost is based on the specific identification method, and the realized gains and losses are included in other income (expense), net in the consolidated statements of operations. AFS debt securities are reviewed quarterly for impairment. An investment is considered impaired when its fair value is below its amortized cost. Declines in fair value from amortized cost for AFS debt securities that the company intends to sell or will more likely than not be required to sell before the expected recovery of the amortized cost basis are charged to other income (expense), net in the period in which the loss occurs. Otherwise, the credit loss component of the impairment is recorded as allowance for credit losses with an offsetting entry charged to other income (expense), net, while the remaining loss is recognized in other comprehensive income (loss).</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounts Receivable</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable are recorded at the invoiced amount and do not bear interest. The allowance for credit losses is determined on a collective basis where similar risk characteristics exist and on an individual basis when the Company identifies significant customers or invoices with collectability issues. The estimate for credit losses considers historical write-offs by aging category, that are adjusted for current conditions and reasonable and supportable forecasts of future losses. Any change in the assumptions used in analyzing credit losses may result in additional allowances being recognized in the period in which the change occurs. When the Company ultimately concludes that a receivable is uncollectible, the balance is written off against the allowance for credit losses. Payments subsequently received on such receivables are recognized in the period received. The allowance for credit losses recognized and write-offs charged against the allowance were not significant for the years ended December&#160;31, 2023 and 2022. The balance of accounts receivable, net of allowance for credit losses was $146.2 million, $121.8 million and $109.0 million as of December&#160;31, 2023, December&#160;31, 2022 and December&#160;31, 2021, respectively. </span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Non-marketable securities</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2018, the Company invested $2.5 million in preferred stock of a privately-held company (the &#8220;Investee&#8221;). The fair value of the investment is not readily available, and there are no quoted market prices for the investment. The Company elected the measurement alternative to account for the investment at cost less impairment and will measure the investment at fair value when the Company identifies observable price changes. The investment is assessed for impairment annually or whenever events or changes in circumstances indicate that the fair value of the investment is less than carrying value. The investment is included in other noncurrent assets in the consolidated balance sheets. The Company has not received any dividends from the investment. During the second quarter of 2023, the Company identified an observable price change in the investment and recognized an immaterial unrealized loss in other income (expense), net of the consolidated statement of operations.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2019, the Company made an advance payment of $0.6 million to the Investee for it to perform certain technology development work, which should either be settled in the form of royalty fee charges when the technology materializes and is licensed to the Company or, otherwise, should be repaid to the Company in cash. The advance payment was recorded in other non-current assets in the consolidated balance sheet. During the fourth quarter ended December 31, 2021, the technology has not been developed and the Company decided to no longer pursue the development of the technology or the collection of the advanced amount. Accordingly, the entire amount of the advance payment was written off and recorded in the general and administrative expense during the year ended December 31, 2021.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment, net</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost less accumulated depreciation and amortization. Depreciation is computed using the straight-line method over the estimated useful lives of the assets, which range from <span style="-sec-ix-hidden:f-400">three</span> to five years. Leasehold improvements are amortized on a straight-line basis over the lesser of the estimated useful life of the asset or the remaining lease term.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company purchases physical scanner appliances and other computer equipment that are provided to some customers on a subscription basis. This equipment is recorded within property and equipment and the depreciation is recorded in cost of revenues over an estimated useful life of three years.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Upon retirement or disposal, the cost of assets and the related accumulated depreciation are removed from the accounts and any resulting gain or loss is reflected in the consolidated statements of operations. Repairs and maintenance that do not extend the life of an asset are expensed as incurred and major improvements are capitalized as property and equipment.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Leases</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases certain offices, computer equipment and its shared cloud platform facilities under finance leases and non-cancelable operating leases. For both operating and finance leases, the Company recognizes a right-of-use asset, which represents the Company's right to use the underlying asset for the lease term, and a lease liability, which represents the present value of the Company's obligation to make payments arising over the lease term. Many of the Company's leases include rental escalation clauses, renewal options and/or termination options that are factored into the Company's determination of lease payments and lease terms when appropriate. The present value of the lease payments is calculated using the incremental borrowing rate of the underlying leases determined at lease commencement. As most of the Company's leases do not provide a readily determinable implicit rate, the Company determines an incremental borrowing rate using a portfolio approach based on the rate of interest that the Company would have to pay to borrow an amount equal to the lease payments on a collateralized basis over a similar term as the leases. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Where the Company is the lessee, the Company elects to account for non-lease components associated with its leases (e.g., common area maintenance costs) and lease components separately for substantially all of its asset classes, except for shared cloud platforms, for which the Company elected to combine lease and non-lease components. For leases with a term of one year or less, the Company has elected not to record the right-of-use asset or liability.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In arrangements where the Company is the lessor, the Company elected to apply the practical expedient to account for lease components (e.g., customer premise equipment) and non-lease components (e.g., service revenue) as combined components as revenue under ASC 606 as service revenues are the predominant components in the arrangements.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Impairment of Long-Lived Assets </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluates its long-lived assets, which consist of property and equipment, and intangible assets subject to amortization, for indicators of possible impairment when events or changes in circumstances indicate the carrying amount of an asset may not be recoverable. Impairment exists if the carrying amounts of such assets exceed the estimates of future undiscounted cash flows expected to be generated by such assets. Should an impairment exist, the impairment loss would be measured based on the excess carrying value of the asset over the asset&#8217;s estimated fair value. For the years ended December&#160;31, 2023, 2022 and 2021, there was no impairment of long-lived assets.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill and Intangible Assets</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill represents the excess of the purchase price over the fair value of the net tangible and identifiable intangible assets acquired in a business combination. Goodwill and indefinite-lived intangible assets are not amortized but tested for impairment at least annually or more frequently if certain circumstances indicate a possible impairment may exist. The goodwill impairment tests are performed at the reporting unit level. The Company&#8217;s operations are organized as one reporting unit.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In testing for a potential impairment of goodwill and the indefinite-lived intangible assets, the Company first performs a qualitative assessment to determine if it is more likely than not (a more than 50% likelihood) that the fair value of the reporting unit or the indefinite-lived intangible assets is less than their carrying amount. If the fair value is not considered to be less than the carrying amount, no further evaluation is necessary. Otherwise, the Company will perform a quantitative test. Goodwill impairment is measured as the amount by which the carrying value of the reporting unit or the indefinite-lived intangible assets exceeds their fair value. The Company performed the annual assessments on December 1, 2023 and 2022 and concluded there was no impairment of goodwill or the indefinite-lived intangible assets.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Software Development Costs</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The costs to develop software that is marketed externally have not been capitalized as the Company believes its current software development process is essentially completed concurrent with the establishment of technological feasibility. As such, all related software development costs are expensed as incurred and included in research and development expense on the Company's consolidated statements of operations.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs related to software developed, acquired or modified for internal use are capitalized and included in other noncurrent assets on the consolidated balance sheets. Costs incurred during the preliminary planning and evaluation stage of the project and during the post implementation stages of the project are expensed as incurred. Costs incurred during the application development stage of the project are capitalized. These capitalized costs consist of internal compensation related costs and external direct costs.   Costs related to software developed for internal use are amortized over an estimated useful life of three years and recorded in cost of revenues. Management evaluates the useful lives of these assets on an annual basis and tests for impairment whenever events or changes in circumstances occur that could impact the recoverability of these assets. As of December&#160;31, 2023 and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, unamortized balances related to the Company's internally developed software costs are immaterial.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Asset Acquisitions and Business Combinations </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company applies the provisions of ASC 805, Business Combinations, in accounting for its acquisitions. To determine whether transactions should be accounted for as asset acquisition or business combination, the Company evaluates whether substantially all of the fair value of gross assets included in a transaction is concentrated in a single asset (or a group of similar assets), resulting in an asset acquisition, if not, resulting in a business combination. In an asset acquisition, the cost of acquiring the asset group, including transaction costs, is allocated to the acquired assets or assumed liabilities based on their relative fair values without giving rise to goodwill. In a business combination, the Company recognize separately from goodwill the assets acquired and the liabilities assumed at their acquisition date fair values. Goodwill as of the acquisition date is measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities assumed. While the Company uses its best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, its estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company records adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon the conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to its consolidated statements of operations.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Derivative Financial Instruments</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Derivative financial instruments are utilized by the Company to reduce foreign currency exchange risks. The Company uses foreign currency forward contracts, with maturities of 13 months or less, to mitigate the impact of foreign currency fluctuations of certain non-U.S. dollar denominated net asset positions, to date primarily cash, accounts receivable and operating lease liabilities, as well as to manage foreign currency fluctuation risk related to forecasted transactions. Open contracts are recorded within prepaid expenses and other current assets, other noncurrent assets, accrued liabilities or other noncurrent liabilities in the consolidated balance sheets. Gains and losses resulting from currency exchange rate movements on non-designated forward contracts are recognized in other income (expense), net. Any gains or losses from derivatives designated as cash flow hedges are first recorded within accumulated other comprehensive income (&#8220;AOCI&#8221;) and then reclassified into revenue or operating expenses when the hedged item impacts the consolidated statements of operations. Cash flows related to these forward contracts are classified in the Company's consolidated statements of cash flows in the same manner as the underlying hedged transaction within cash flows from operating activities.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-Based Compensation</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes the fair value of its stock options, restricted stock units (&#8220;RSUs&#8221;) and stock purchase rights under the ESPP on a straight-line basis over the requisite service periods. The fair value of each stock option or stock purchase right is estimated on the date of grant using the Black-Scholes-Merton option pricing model and the fair value of each RSU is based on the Company's common stock price on the date of grant. Compensation expenses for performance-based stock options (&#8220;PSOs&#8221;) and performance-based restricted stock units (&#8220;PSUs&#8221;) are recorded based on expected achievement of the performance metrics specified in the grant, which are assessed on a quarterly basis. Forfeitures are estimated on the date of grant and revised if actual or expected forfeiture materially differs from original estimates.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue Recognition</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company derives revenues from subscriptions that require customers to pay a fee in order to access the Company&#8217;s cloud solutions. Contract period with customers generally are one year with occasional contracts ranging up to five years. The subscription fee entitles the customer to an unlimited number of scans for a specified number of networked devices or web applications and, if requested by a customer as part of their subscription, a specified number of physical or virtual scanner appliances. The Company&#8217;s physical and virtual scanner appliances are requested by certain customers as part of their subscriptions in order to scan IT infrastructures within their firewalls and do not function without, and are not sold separately from, subscriptions for the Company&#8217;s solutions. In some limited cases, the Company also provides certain computer equipment used to extend Qualys' Enterprise TruRisk Platform into its customers&#8217; private cloud environment. Customers are required to return physical scanner appliances and computer equipment if they do not renew their subscriptions. </span></div><div style="margin-top:12pt;padding-left:27pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determines revenue recognition through the following steps:</span></div><div style="margin-top:6pt;padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Identification of the contract, or contracts, with a customer;</span></div><div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Identification of the performance obligations in the contract;</span></div><div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Determination of the transaction price;</span></div><div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Allocation of the transaction price to the performance obligations in the contract; and</span></div><div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Recognition of revenue when, or as, the Company satisfies a performance obligation.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At the inception of a customer contract, the Company makes an assessment as to that customer's ability to pay for the services provided. The Company assesses collectability based on several factors, including credit worthiness of the customer along with past transaction history. In addition, the Company performs periodic evaluations of its customers&#8217; financial condition. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Most of the Company&#8217;s revenue contracts are subscription based and contain a single performance obligation. The subscription contracts typically do not offer to the customers any future rights that would constitute material rights. Contract prices are generally composed of fixed consideration for a specific period of time as the Company in general does not offer refunds, volume rebates, customer loyalty programs or other forms of customer incentive payments. In limited situations, contract prices are contingent on future events, such as actual usage during the contract terms, which are accounted for as variable consideration and estimated based on the most likely amount of consideration that the Company is expected to be entitled to. Estimates are included in the contract price to the extent that it is considered probable that a significant reversal in the amount of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. Such estimates are made at contract inception and updated periodically when additional information becomes available. A cumulative catch-up adjustment is made when there is a change in the estimate of variable consideration.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As the Company's cloud-based subscription services are delivered to customers electronically and over time, revenue is generally recognized ratably over the contract terms. When physical equipment is provided to the customers as part of the subscription service contract, the Company applies the practical expedient allowed under ASC 842 Leases to combine lease and nonlease components as a combined component to be accounted for under ASC 606, as the Company determined that the software subscription is the predominant component of the combined components. Therefore, the Company recognizes revenue for the physical equipment ratably over the related subscription period.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract modifications happen when there is an upsell, where the customers subsequently enter into contract with the Company to purchase additional product offerings or additional scans for additional devices. Contract modifications related to upsells are accounted for prospectively.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenues consist of customer contracts billed or cash received that will be recognized in the future under subscriptions existing at the balance sheet date. The current portion of deferred revenues represents amounts that are expected to be recognized within one year of the balance sheet date.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs of shipping and handling charges incurred by the Company associated with physical scanner appliances and other computer equipment are included in cost of revenues. Sales taxes and other taxes collected from customers to be remitted to government authorities are excluded from revenues.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Incremental direct costs of obtaining a contract, which consist of sales commissions primarily for new business and upsells, are deferred and amortized over the estimated life of the customer relationship if renewals are expected and the renewal commission is not commensurate with the initial commission. The Company elected the practical expedient to expense commissions on renewals where the specific anticipated contract term amortization period is one year or less. The Company amortizes the capitalized commission cost as a selling expense on a straight-line basis over a period of five years. The Company classifies deferred commissions as current or noncurrent based on the timing of when it expects to recognize the expense. The current and noncurrent portions of deferred commissions are included in prepaid expenses and other current assets and other noncurrent assets, respectively, in its consolidated balance sheets. </span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Advertising Expenses</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Advertising costs are expensed as incurred and are included in sales and marketing expense in the consolidated statements of operations. The Company incurred advertising costs of $3.0 million, $3.3 million and $2.1 million for the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021, respectively.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company provides for the effect of income taxes in its consolidated financial statements using the asset and liability method which requires the recognition of deferred tax assets and liabilities for the expected future tax consequences of events that have been included in the consolidated financial statements. Under this method, deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases, net operating loss carryovers, and tax credit carry forwards. The Company regularly reviews its deferred tax assets for recoverability and establishes a valuation allowance if it is more likely than not that some portion or all of the deferred tax assets will not be realized. To make this assessment, the Company takes into account predictions of the amount and category of taxable income from various sources and all available positive and negative evidence about these possible sources of taxable income. The weight given to the potential effect of negative and positive evidence is commensurate with the extent to which the strength of the evidence can be objectively verified. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in the period that includes the enactment date.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income tax expense or benefit is recognized for the amount of taxes payable or refundable for the current year and for deferred tax assets and liabilities for the tax consequences of events that have been recognized in an entity&#8217;s financial statements or tax returns. The Company must make significant assumptions, judgments and estimates to determine its current income tax provision (benefit), its deferred tax assets and liabilities, and any valuation allowance to be recorded against its deferred tax assets. The Company's estimates and assumptions may differ from the actual results as reflected on its income tax returns and will record the required adjustments when they are identified or resolved.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company applies a two-step approach to determining the financial statement recognition and measurement of uncertain tax positions. The Company only recognizes an income tax expense or benefit with respect to uncertain tax positions in its financial statements that the Company judges is more likely than not to be sustained solely on its technical merits in a tax audit, including resolution of any related appeals or litigation processes. To make this judgment, the Company must interpret complex and sometimes ambiguous tax laws, regulations and administrative practices. If an income tax position meets the more likely than not recognition threshold, then the Company must measure the amount of the tax benefit to be recognized by determining the largest amount of tax benefit that has a greater than a 50% likelihood of being realized upon effective settlement with a taxing authority that has full knowledge of all of the relevant facts. It is inherently difficult and subjective to estimate such amounts, as this requires the Company to determine the probability of various possible settlement outcomes. To determine if a tax position is effectively settled after a tax examination has been completed, the Company must also estimate the likelihood that another taxing authority could review the respective tax position. The Company must also determine when it is reasonably possible that the amount of unrecognized tax benefits will significantly increase or decrease in the 12 months after each fiscal year-end. These judgments are difficult because a taxing authority may change its behavior as a result of the Company's disclosures in its financial statements. The Company must reevaluate its income tax positions on a quarterly basis to consider factors such as changes in facts or circumstances, changes in tax law, effectively settled issues under audit, and new audit activity. Such a change in recognition or measurement would result in recognition of a tax benefit or an additional charge to the tax provision. The Company's policy is to recognize interest and penalties related to unrecognized tax benefits as a component of the provision for income taxes.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Comprehensive Income (Loss)</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other comprehensive income (loss) consists of unrealized gains (losses) on marketable securities, net of tax, and derivative financial instruments designated as cash flow hedges, net of tax, which are not included in the Company&#8217;s net income. Total comprehensive income includes net income and other comprehensive income (loss) and is included in the consolidated statements of comprehensive income.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Foreign Currency Transactions</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s operations are conducted in various countries around the world and the financial statements of its foreign subsidiaries are reported in the U.S. dollar as their respective functional currency. Monetary assets and liabilities denominated in foreign currencies have been re-measured into U.S. dollars using the exchange rates in effect at the balance sheet date, and income and expenses are re-measured at average exchange rates during the period. Foreign currency re-measurement gains and losses and foreign currency transaction gains and losses are recognized in other income (expense), net.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Net Income Per Share </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic net income per share is computed by dividing net income by the weighted-average number of shares outstanding during the period. Diluted net income per share is computed by dividing net income by the weighted-average number of shares outstanding plus potentially dilutive shares outstanding during the period. The potentially dilutive shares are computed by applying the treasury stock method to the Company's stock options, RSUs and the stock purchase rights under the ESPP. Any potential shares that would be anti-dilutive are excluded from the computation of diluted net income per share.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recently Adopted Accounting Pronouncements</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recently Issued Accounting Pronouncements Not Yet Adopted</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2023, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2023-07 requiring enhanced segment disclosures. The ASU requires disclosure of significant segment expenses regularly provided to the chief operating decision maker ("CODM") included within segment operating profit or loss. Additionally, the ASU requires a description of how the CODM utilizes segment operating profit or loss to assess segment performance. The requirements of the ASU are effective for annual periods beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company's annual reporting requirements will be effective for fiscal 2024 and interim reporting requirements will be effective beginning with the first quarter of fiscal 2025. Early adoption is permitted and retrospective application is required for all periods presented. The Company is in the process of analyzing the impact of the ASU on related disclosures.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2023, the FASB issued ASU 2023-09 requiring enhanced income tax disclosures. The ASU requires disclosure of specific categories and disaggregation of information in the rate reconciliation table. The ASU also requires disclosure of disaggregated information related to income taxes paid, income or loss from continuing operations before income tax expense or benefit, and income tax expense or benefit from continuing operations. The requirements of the ASU are effective for annual periods beginning after December 15, 2024. Early adoption is permitted and the amendments should be applied on a prospective basis. Retrospective application is permitted. The Company is in the process of analyzing the impact of the ASU on related disclosures.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company does not believe any other new accounting pronouncements issued by the FASB that have not become effective will have a material impact on its consolidated financial statements.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193605782400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value of Financial Instruments<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">Fair Value of Financial Instruments</a></td>
<td class="text">Fair Value of Financial Instruments<div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. For certain of the Company&#8217;s financial instruments, including certain cash equivalents, accounts receivable, accounts payable and accrued liabilities, the carrying amounts approximate their fair values due to the relatively short maturity of these balances.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company measures and reports certain cash equivalents, marketable securities, derivative foreign currency forward contracts at fair value in accordance with the provisions of the authoritative accounting guidance that addresses fair value measurements. This guidance establishes a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. The hierarchy is broken down into three levels based on the reliability of inputs as follows:</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 1 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- Valuations based on quoted prices in active markets for identical assets or liabilities.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 2 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- Valuations based on other than quoted prices in active markets for identical assets and liabilities, including quoted prices for identical assets or liabilities in less active or inactive markets, quoted prices for similar assets or liabilities in active markets, or inputs other than quoted prices that are observable for substantially the full term of the assets or liabilities.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 3 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- Valuations based on inputs that are generally unobservable and typically reflect management&#8217;s estimates of assumptions that market participants would use in pricing the asset or liability.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's financial instruments consist of assets and liabilities measured using Level 1 and 2 inputs. Level 1 assets include a highly liquid money market fund, which is valued using unadjusted quoted prices that are available in an active market for an identical asset. Level 2 assets include fixed-income U.S. Treasury and government agency securities, commercial paper, corporate bonds, asset-backed securities, foreign government securities and derivative financial instruments consisting of foreign currency forward contracts. The securities, bonds and commercial paper are valued using prices from independent pricing services based on quoted prices of identical instruments in less active or inactive markets, quoted prices of similar instruments in active markets, or industry models using data inputs such as interest rates and prices that can be directly observed or corroborated in active markets. The foreign currency forward contracts are valued using observable inputs, such as quotations on forward foreign exchange points and foreign interest rates.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth by level within the fair value hierarchy the fair value of the Company's financial assets and liabilities measured at fair value on a recurring basis:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,279&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,279&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">208,536&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">208,536&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">56,465&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">56,465&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,881&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,881&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">111&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">111&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333,272&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333,359&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,986&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,986&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,986&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,986&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82,701&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82,701&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">156,662&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">156,662&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign government</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,006&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,006&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63,910&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63,910&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,027&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,027&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,493&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,493&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82,701&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">238,098&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">320,799&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,679&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,679&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,679&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,679&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no transfers between Level 1, Level 2 and Level 3 categories during the years ended December&#160;31, 2023 and 2022.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash equivalent and investments</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's cash equivalents and marketable securities consist of the following:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:47.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents: (1)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,620&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,624&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,707&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,711&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Short-term marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,254&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,279&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23,013&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(149)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22,865&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">144,901&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">52&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(204)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">144,749&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">222,168&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">85&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(360)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">221,893&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,337&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">285&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(22)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,600&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,785&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">102&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,881&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,116&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,163&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">56,238&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">436&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(30)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">56,644&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333,113&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">525&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(390)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333,248&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="padding-left:40.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Excludes cash of $149.0 million. </span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:47.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents: (1)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82,701&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82,701&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29,787&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29,791&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">112,488&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">112,492&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Short-term marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,908&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(337)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,574&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">726&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">724&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">110,225&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(921)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">109,304&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign government</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,008&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,006&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">148,867&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,262)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">147,608&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,146&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(810)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,336&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,435&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(132)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,303&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,076&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(509)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,567&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">60,657&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,451)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59,206&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">322,012&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,713)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">319,306&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="padding-left:31.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Excludes cash of $61.2 million. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the gross unrealized losses and fair value of the Company's marketable securities that were in an unrealized loss position aggregated by length of time: </span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:22.328%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.185%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.185%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.185%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.185%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.185%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.192%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Less than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">12 months or longer</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,838&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,838&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,485&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,485&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,717&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(171)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,717&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(171)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43,373&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(18)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,172&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(188)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61,545&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(206)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68,211&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(25)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,374&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(365)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">108,585&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(390)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:21.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.334%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Less than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">12 months or longer</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign government agencies</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">998&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">998&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,365&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(124)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,652&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,017&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(134)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,800&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(389)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,326&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(758)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">60,126&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,147)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">89,802&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,175)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,833&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(255)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">126,635&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,430)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">137,965&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,690)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">64,811&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,023)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">202,776&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,713)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company considered the extent to which any unrealized losses on its marketable securities were driven by credit risk and other factors, including market risk, and if it is more-likely-than-not that the Company would have to sell the security before the recovery of the amortized cost basis. At December 31, 2023 and 2022, the unrealized losses related to its marketable securities were due to rising market interest rates compared to when the investments were initiated. The Company does not believe the unrealized losses represent credit risk, and the Company does not intend to sell any of the securities in an unrealized loss position and it is not likely that the Company would be required to sell these securities before recovery of their amortized cost basis, which may be at maturity. Thus, no credit loss was recognized for the Company's marketable securities for the years ended December 31, 2023 and 2022.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes the fair value of marketable securities by contractual maturity:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:73.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due within One Year</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">276,875&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">276,604&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due after One Year through Two Years</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,814&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,982&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Mature over Two Years</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,639&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,781&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,785&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,881&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333,113&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333,248&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Derivative Financial Instruments</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Designated cash flow hedges</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company enters into foreign currency forward contracts to reduce the risk of variability in future cash flow due to foreign currency exchange rate fluctuation from certain forecasted subscription revenue orders billed in GBP and EUR and operation expenses incurred in INR, which are designated as cash flow hedges. Hedge effectiveness is assessed at inception and at each reporting period utilizing regression analysis. Unrealized foreign exchange gains or losses related to those designated cash flow hedge contracts are recorded in accumulated other comprehensive income ("AOCI") and will be reclassified into revenues or operating expenses, respectively, in the same periods when the hedged transactions are recognized in earnings.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, the Company had designated cash flow hedge forward contracts with notional amounts of &#8364;48.5 million, &#163;14.6 million and Rs.4,042.0 million. As of December&#160;31, 2022, the Company had designated cash flow hedge forward contracts with notional amounts of &#8364;37.4 million, &#163;10.4 million and Rs.3,411.0 million.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, a net amount of unrealized loss of $1.5 million before tax on the foreign currency forward contracts for GBP and EUR reported in AOCI is expected to be reclassified into revenue within the next 12 months. As of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, an immaterial amount of unrealized loss before tax on the foreign currency forward contracts for INR reported in AOCI is expected to be reclassified into operating expenses within the next 12 months.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Non-designated forward contracts</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company also uses foreign currency forward contracts to hedge certain foreign currency denominated assets or liabilities, which are not designated as cash flow hedges. Unrealized foreign exchange gain or losses related to the non-designated forward contracts are recorded in other income (expenses), net and offset the foreign exchange gain or loss on the underlying net monetary assets or liabilities.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, the Company had non-designated forward contracts with notional amounts of &#8364;19.2 million, &#163;6.0 million, Rs.440.0 million, and C$1.0 million. As of December&#160;31, 2022, the Company had non-designated forward contracts with notional amounts of &#8364;40.2 million, &#163;16.2 million, Rs.484.0 million, and C$3.8 million.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span><br/></span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the fair value of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">derivative financial instruments as of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and 2022:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:73.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands) </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts designated as cash flow hedge</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,041&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts not designated as hedging instruments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">48&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">452&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">111&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,493&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Liabilities</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts designated as cash flow hedge</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,502&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,634&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts not designated as hedging instruments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">484&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,045&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,986&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,679&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company presents its derivative assets and derivative liabilities at gross fair values in the consolidated balance sheets. However, under the master netting agreements with the respective counterparties of the foreign exchange contracts, subject to applicable requirements, the Company is allowed to net settle transactions of the same currency with a single net amount payable by one party to the other. The potential offset to both assets and liabilities under the right of set-off associated with the Company's foreign currency exchange contracts are immaterial as of December&#160;31, 2023 and 2022. The derivatives held by the Company are not subject to any credit contingent features negotiated with its counterparties. The Company is not required to pledge nor is entitled to receive cash collateral related to the above contracts. The counterparties to these derivatives are large, global financial institutions that the Company believes are creditworthy, and therefore, it does not consider the risk of counterparty nonperformance to be material. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes the gains (losses) recognized from forward contracts and other foreign currency transactions in other income (expense), net in the consolidated statements of operations:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands) </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net (losses) gains from non-designated forward contracts</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(198)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,093&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,452&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other foreign currency transactions losses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(499)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6,864)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,749)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total foreign exchange losses, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(697)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,771)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(297)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600919136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accumulated Other Comprehensive Income (Loss)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNoteTextBlock', window );">Accumulated Other Comprehensive Income (Loss)</a></td>
<td class="text">Accumulated Other Comprehensive Income (Loss)<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components and changes in accumulated other comprehensive income (loss) were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Available-for-sale debt securities</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cash flow hedges</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balances at December 31, 2020</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,224&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,708)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(484)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in unrealized gains (losses) during the period</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,854)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,837&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">983&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amount reclassified into income during the period</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">933&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">955&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tax effect</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">423&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(870)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(447)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net change during the period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,409)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,900&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,491&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balances at December 31, 2021</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(185)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,192&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,007&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in unrealized gains (losses) during the period</span></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,462)</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">581&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,881)</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amount reclassified into income during the period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,147)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,147)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tax effect</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(58)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">132&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net change during the period</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,520)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(434)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,954)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balances at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,705)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">758&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,947)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in unrealized gains (losses) during the period</span></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,858&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,362)</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,496&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amount reclassified into income during the period</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(16)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,957)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,973)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tax effect</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(29)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">749&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">720&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net change during the period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,813&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,570)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">243&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balances at December 31, 2023</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">108&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,812)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,704)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The effects on income before income taxes of amounts reclassified from AOCI to the consolidated statements of operations were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Reclassification of AOCI - Available-for-sale debt securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other income (expense), net</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(22)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Reclassification of AOCI - Cash flow hedges</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,077&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,897&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,667)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenues</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(258)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(169)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">149&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(712)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(478)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">492&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(44)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(30)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(106)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(73)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">65&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,957&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,147&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(933)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNoteTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//220/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNoteTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600877024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment, Net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property and Equipment, Net</a></td>
<td class="text">Property and Equipment, Net<div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net, which includes assets under finance leases, consists of the following: </span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:73.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computer equipment</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">179,002&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">173,832&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computer software</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,133&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,808&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Leasehold improvements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,924&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,009&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Scanner appliances</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,369&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,696&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furniture, fixtures and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,699&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,524&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total property and equipment</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">251,127&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">242,869&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: accumulated depreciation and amortization</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(218,528)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(195,441)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32,599&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47,428&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and 2022, physical scanner appliances and other computer equipment that are or will be subject to leases by customers had a net carrying value of $10.1 million and $6.7 million, respectively, including assets that had not been placed in service of $6.4 million and $4.0 million, respectively. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation and amortization expenses relating to property and equipment were $23.9 million, $28.2 million and $28.5 million for the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021, respectively, which were mainly recorded in cost of revenues in the consolidated statements of operations.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600851152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue from Contracts With Customers<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue from Contracts With Customers</a></td>
<td class="text">Revenue from Contracts with Customers<div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company records deferred revenue when cash payments are received or due in advance of its performance obligations offset by revenue recognized in the period. Revenues of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$292.2 million and $254.9 million were recognized during the years ended </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2022</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, respectively, which amounts were included in the deferred revenue balances of $317.2 million and $290.6 million as of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2022</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2021</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, respectively</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's payment terms vary by the type and location of its customers. The term between invoicing and when payment is due is not significant. In certain circumstances, based on the credit quality of the customer, the Company requires payment before the products or services are delivered to the customer.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the expected revenue from all remaining performance obligations as of December&#160;31, 2023:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:84.614%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.186%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">200,872&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">122,465&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">46,327&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,291&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">397&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2029 and thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">374,415&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues allocated to remaining performance obligations represents the transaction price of noncancelable orders for which service has not been performed, which include deferred revenue and the amounts that will be invoiced and recognized as revenues in future periods from open contracts and excludes unexercised renewals. The Company applied the short-term contract exemption to exclude the remaining performance obligations that are part of a contract that has an original expected duration of one year or less.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company enters into contracts with customers that extend beyond one year, with certain of its customers electing to pay for more than one year of services upon contract execution. The Company concluded that these contracts did not contain a financing component.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues by sales channel are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Direct</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">314,988&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">285,382&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">243,389&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Partner</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">239,470&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">204,341&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">167,783&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">554,458&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">489,723&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">411,172&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company utilizes partners to enable and accelerate the adoption of its cloud platform by increasing its distribution capabilities and market awareness of its cloud platform as well as by targeting geographic regions outside the reach of its direct sales force. The Company's channel partners maintain relationships with their customers throughout the territories in which they operate and provide their customers with services and third-party solutions to help meet those customers&#8217; evolving security and compliance requirements. As such, these partners may offer the Company's IT security and compliance solutions in conjunction with one or more of their own products or services and act as a conduit through which the Company can connect with these prospective customers to offer its solutions. For sales involving a channel partner, the channel partner engages with the prospective customer directly and involves the Company's sales team as needed to assist in developing and closing an order. When a channel partner secures a sale, the Company sells the associated subscription to the channel partner who in turn resells the subscription to the customer. Sales to channel partners are made at a discount and revenues are recorded at this discounted price over the subscription terms. The Company does not have any influence or specific knowledge of its partners' selling terms with their customers. See Note 13, "Segment and Geographic Area Information" for disaggregation of revenue by geographic area.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred costs to obtain contracts are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:73.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,858&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,018&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Noncurrent</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,844&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,090&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021, the Company recognized $6.0 million, $5.0 million and $4.0 million, respectively, of amortization expense relating to deferred costs to obtain contracts </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">in sales and marketing expense in the consolidated statements of operations.</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> During the same periods, there was no impairment loss related to the deferred costs to obtain contracts.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-15<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193602699232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract', window );"><strong>Business Combination and Asset Acquisition [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetAcquisitionTextBlock', window );">Acquisitions</a></td>
<td class="text">Acquisitions<div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October&#160;4, 2022, the Company acquired certain assets of Blue Hexagon Inc., a privately held company incorporated in Delaware, for $10.0 million in cash, of which $8.5 million was paid on the acquisition date and the remaining $1.5 million will be due eighteen months from the acquisition date, subject to potential adjustment from possible indemnity claims. In addition, the Company assumed $1.4 million deferred revenue. Blue Hexagon's AI/ML-driven network detection enables the Company to leverage its cloud platform with AI/machine learning to uncover behavior patterns including active vulnerability exploitation, identification of advanced network threats, and adaptive risk mitigation across all assets and application. The Company accounted for this transaction as an asset acquisition, as substantially all of the fair value is concentrated in developed technology acquired. The Company incurred $0.6 million transaction costs which is included as the cost of acquiring the intangible assets. The Company recognized intangible assets of $11.5 million for developed technology and $0.4 million for assembled workforce, which will be amortized over five years and two years, respectively. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August&#160;19, 2021, the Company acquired certain developed technology intangible assets of TotalCloud, a privately held company incorporated in India, for a total cash consideration of $1.2 million, of which $1.1 million was paid on the acquisition </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">date and the remaining $0.1 million was deferred and paid in August 2022. TotalCloud's technology strengthens the Company's cloud security solution by allowing customers to build user-defined workflows for custom policies and execute them on-demand for simplified security and compliance. The acquired intangible assets will be amortized over five years.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no changes in the carrying amount of goodwill for the years ended December&#160;31, 2023 and 2022.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetAcquisitionTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for asset acquisition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 15<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480123/805-50-15-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetAcquisitionTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAndAssetAcquisitionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600248736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets, Net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">Intangible Assets, Net</a></td>
<td class="text">Intangible Assets, Net<div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets consist primarily of developed technology and patent licenses acquired from business or asset acquisitions. Acquired intangibles are amortized on a straight-line basis over the respective estimated useful lives of the assets.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying values of intangible assets are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:33.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.333%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Life <br/>(Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average <br/>Remaining Life (Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization </span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net Book Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developed technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,141&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(30,667)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,474&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Patent licenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14.0</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.7</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,387&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,322)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">65&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assembled workforce</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.0</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.8</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">359&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(223)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">136&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangibles subject to amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41,887&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(32,212)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,675&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets not subject to amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,715&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:33.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.333%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Life <br/>(Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average <br/>Remaining Life (Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net Book Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developed technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.4</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,141&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(27,860)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,281&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Patent licenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14.0</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.7</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,387&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,221)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">166&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assembled workforce</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.0</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.7</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">359&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(45)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">314&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangibles subject to amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41,887&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(29,126)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,761&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets not subject to amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,801&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets amortization expenses were $3.1 million, $5.7 million and $6.7 million for the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">years ended December&#160;31, 2023, 2022 and 2021, respectively, which were recorded in the consolidated statements of operations.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, the Company expects amortization expense in future periods to be as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:84.614%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.186%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,904&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,556&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,477&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,738&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total expected future amortization expense</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,675&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350-30/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193609764256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text">Leases<div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases certain offices, computer equipment and its shared cloud platform facilities under non-cancelable operating leases for varying periods through 2028. While under the Company's lease agreements the Company has options to extend its certain leases, the Company has not included renewal options in determining the lease terms for calculating its lease liabilities, as these options are not reasonably certain of being exercised. Lease expense was $16.1 million, $14.9 million and $16.8 million for the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021, respectively.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental cash flow information related to operating leases was as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash payments included in the measurement of lease liabilities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,984&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,751&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,646&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease liabilities arising from obtaining right-of-use assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">121&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,669&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,110&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted average remaining lease term and the weighted average discount rate of the Company's operating leases were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:73.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term (years)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.7</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average discount rate</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Maturities of the Company's operating lease liabilities as of December&#160;31, 2023 are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:84.614%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.186%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands) </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,053&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,747&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,498&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,353&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,466&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total minimum lease payments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,117&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,375)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Present value of net minimum lease payments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,742&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: lease liabilities, current</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(11,857)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease liabilities, noncurrent</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,885&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeFinanceLeasesTextBlock', window );">Leases</a></td>
<td class="text">Leases<div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases certain offices, computer equipment and its shared cloud platform facilities under non-cancelable operating leases for varying periods through 2028. While under the Company's lease agreements the Company has options to extend its certain leases, the Company has not included renewal options in determining the lease terms for calculating its lease liabilities, as these options are not reasonably certain of being exercised. Lease expense was $16.1 million, $14.9 million and $16.8 million for the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021, respectively.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental cash flow information related to operating leases was as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash payments included in the measurement of lease liabilities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,984&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,751&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,646&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease liabilities arising from obtaining right-of-use assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">121&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,669&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,110&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted average remaining lease term and the weighted average discount rate of the Company's operating leases were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:73.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term (years)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.7</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average discount rate</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Maturities of the Company's operating lease liabilities as of December&#160;31, 2023 are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:84.614%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.186%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands) </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,053&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,747&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,498&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,353&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,466&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total minimum lease payments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,117&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,375)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Present value of net minimum lease payments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,742&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: lease liabilities, current</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(11,857)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease liabilities, noncurrent</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,885&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeFinanceLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for finance leases of lessee. Includes, but is not limited to, description of lessee's finance lease and maturity analysis of finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeFinanceLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600882880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitment and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitment and Contingencies</a></td>
<td class="text">Commitment and Contingencies<div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Purchase Obligation</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has entered into agreements to purchase goods and services in the ordinary course of business. As of December&#160;31, 2023, these remaining purchase commitments for future periods are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:84.614%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.186%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,743&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,768&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,365&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,784&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total purchase commitments</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61,660&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Indemnifications</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company from time to time enters into certain types of contracts that contingently require it to indemnify various parties against claims from third parties. These contracts primarily relate to (i) the Company's bylaws, under which it must indemnify directors and executive officers, and may indemnify other officers and employees, for liabilities arising out of their relationship, (ii) contracts under which the Company must indemnify directors and certain officers for liabilities arising out of their relationship, and (iii) contracts under which the Company may be required to indemnify customers or resellers from certain liabilities arising from potential infringement of intellectual property rights, as well as potential damages caused by limited product defects. To date, the Company has not incurred and has not recorded any liability in connection with such indemnifications.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains director and officer insurance, which may cover certain liabilities arising from its obligation to indemnify its directors.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Legal Proceedings</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time the Company may become involved in legal proceedings or be subject to claims arising in the ordinary course of the Company's business. The Company records a provision for a liability when it is both probable that a liability has been incurred and the amount can be reasonably estimated. Legal expenses related to such matters are expensed as incurred. The Company provides disclosure if it is reasonably possible that a loss has been incurred and a range of loss or possible loss can be reasonably estimated. Significant judgment is required to determine both probability and the estimated amount. The Company reviews these provisions at least quarterly and adjust these provisions to reflect the impact of negotiations, settlements, rulings, advice of legal counsel, and updated information.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, there has not been at least a reasonable possibility that the Company has incurred a material loss from any ongoing legal proceedings, individually or taken together. However, litigation is inherently unpredictable and is subject to significant uncertainties, some of which are beyond the Company's control. Should any of these estimates and assumptions change or prove to have been incorrect, the Company could incur significant charges related to legal matters which could have a material impact on its results of operations, financial position and cash flows.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//450/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480327/954-440-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600919136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity and Stock-based Compensation<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock', window );">Stockholders' Equity and Stock-based Compensation</a></td>
<td class="text">Stockholders' Equity and Stock-based Compensation<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Preferred Stock</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effective October&#160;3, 2012, the Company is authorized to issue 20.0&#160;million shares of undesignated preferred stock with a par value of $0.001 per share. Each series of preferred stock will have such rights and preferences including dividend rights, dividend rate, conversion rights, voting rights, rights and terms of redemption (including sinking fund provisions), redemption price, and liquidation preferences as determined by the board of directors. As of December&#160;31, 2023, and 2022, there were no issued or outstanding shares of preferred stock.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Common Stock</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Equity Incentive Plan</span></div><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2012 Equity Incentive Plan</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The 2012 Equity Incentive Plan (&#8220;Previous 2012 Plan&#8221;) was adopted and approved in September 2012 and became effective on September 26, 2012. Under the Previous 2012 Plan, the Company is authorized to grant to eligible participant&#8217;s incentive stock options ("ISOs"), nonstatutory stock options ("NSOs"), stock appreciation rights (&#8220;SARs&#8221;), restricted stock awards, restricted stock units ("RSUs"), performance units and performance shares. The number of shares of common stock available for issuance under the Previous 2012 Plan is subject to an annual increase on January 1 of each year by an amount equal to the least of 3,050&#160;thousand shares, 5% of the outstanding shares of stock as of the last day of the immediately preceding fiscal year or an amount determined by the board of directors. For the year ended&#8239;December&#160;31, 2023, no shares were added to the Previous 2012 Plan. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June&#160;8, 2022 ("Effective Date"), the Company's stockholders approved the Amended and Restated 2012 Equity Incentive Plan (the "Restated 2012 Plan"). Under the Restated 2012 Plan, the Company is authorized to grant to eligible participants ISOs, NSOs, restricted stock, RSUs, SARs, performance units and performance shares. Pursuant to the relevant plan provisions, 3,072&#160;thousand shares were available for grant under the Restated 2012 Plan on the Effective Date. In addition, any outstanding awards or options granted under the Previous 2012 Equity Incentive Plan will be added back to the shares available for grant under the Restated 2012 Plan if they expire unexercised or are otherwise forfeited after the Effective Date. Any remaining shares of 9,689&#160;thousand available for grant under the Previous 2012 Plan as of the Effective Date were no longer available for future grants under the Restated 2012 Plan. As of December&#160;31, 2023, 1,824&#160;thousand shares are available for future grants. Options may be granted with an exercise price that is at least equal to the fair market value of the Company's stock at the date of grant and are exercisable when vested. Options and RSU's granted generally vest over a period of up to four years. ISOs may only be granted to employees and any subsidiary corporations' employees. All other awards may be granted to employees, directors and consultants and subsidiary corporations' employees and consultants. Options, SARs, RSUs, performance units and performance awards may be granted with vesting terms as determined by the board of directors and expire no more than ten years after the date of grant or earlier if employment or service is terminated.</span></div><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2021 Employee Stock Purchase Plan</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June&#160;9, 2021, the Company&#8217;s stockholders approved the 2021 ESPP. A total of 600&#160;thousand shares were authorized for issuance to eligible participating employees upon adoption of the ESPP. The ESPP provides for consecutive 6-month offering periods beginning on or about August 16 and February 16 of each year. Eligible employees who elect to participate can contribute from 1% to 15% of their eligible compensation through payroll withholding. During any offering period, contribution rates cannot be changed. However, eligible employees may withdraw from the current offering period. Any contributions made prior to each purchase date in the case of withdrawal or termination of employment will be refunded. On each purchase date, eligible participating employees will purchase the shares at a price per share equal to 85% of the lesser of (i) the fair market value of the Company's stock on the first trading day of the offering period or (ii) the fair market value of the Company's stock on the purchase date (i.e., the last trading day of the offering period). </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the year ended December&#160;31, 2023, 60&#160;thousand shares </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">were issued in connection with the purchase of common stock by participating employees. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, 494&#160;thousand shares were available for future purchase. </span></div><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-based Compensation</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows a summary of the stock-based compensation expenses included in the consolidated statements of operations for the years ended December&#160;31, 2023, 2022 and 2021:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenues</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,300&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,305&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,782&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,091&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,585&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,750&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,234&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,837&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,323&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,454&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23,681&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">46,724&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total stock-based compensation, net of amounts capitalized (1)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">69,079&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53,408&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">67,579&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;padding-left:31.5pt;text-align:justify;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Total stock-based compensation expense capitalized was de minimis during the year ended December&#160;31, 2023.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The income tax benefit related to the stock-based compensation expenses was </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$11.0 million, $8.3 million and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$6.2 million for the years ended December&#160;31, 2023, 2022 and 2021, respectively. The tax benefit realized from stock-based compensation vested or exercised was </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$5.9 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$7.0 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$4.9 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> for the years ended December&#160;31, 2023, 2022 and 2021, respectively. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, the Company had unrecognized stock-based compensation expenses of $23.3 million, $94.3 million, $1.4 million, and $0.3 million related to options, RSUs, performance-based RSUs, and ESPP, respectively, which are expected to be recognized over weighted-average periods of 2.6 years, 2.8 years, 0.6 years, and 0.1 years, respectively.</span></div><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance-Based Stock Options and Restricted Stock Units </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December&#160;21, 2018, the Compensation and Talent committee of the Company's board of directors (&#8220;Compensation Committee&#8221;) granted the equity award for 2019 to the Company&#8217;s former chief executive officer, Philippe Courtot (&#8220;Mr. Courtot&#8221;). The first portion of the award consisted of 56 thousand RSUs that were scheduled to vest in 16 quarterly increments beginning on January 1, 2019. The second portion of the award consisted of a target number of 33&#160;thousand PSUs, which were scheduled to vest at the end of the three-year performance period from January 2019 through December 2021. The actual number of PSUs eligible to vest ranged from 0% to 200% of the target number, depending on the level of achievement of goals related to revenue growth during the three-year performance period from January 2019 through December 2021 and Adjusted EBITDA margin for the fiscal year of 2021. The third portion of the award consisted of a target number of 33&#160;thousand PSUs, one third of which (11 thousand target PSUs) was scheduled to vest at the end of each fiscal year of 2019, 2020 and 2021. The actual number of PSUs eligible to vest at each vesting date ranged from 0% to 200% of the target number, depending on the level of achievement of goals related to revenue growth and Adjusted EBITDA margin for each of those years.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On November&#160;2, 2019, the Compensation Committee granted the equity award for 2020 to Mr. Courtot. The first portion of the award consisted of 49 thousand RSUs that were scheduled to vest in 16 quarterly installments beginning on December 1, 2019. The second portion of the award consisted of a target number of 124 thousand PSOs, which were scheduled to vest at the end of the three-year performance period from January 2020 through December 2022. The actual number of PSOs eligible to vest ranged from 0% to 200% of the target number, depending on the level of achievement of goals related to revenue growth and free cash flow per share growth during the performance period.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December&#160;10, 2020, the Compensation Committee granted the equity award for 2021 to Mr. Courtot. The first portion of the award consisted of 69 thousand RSUs that were scheduled to vest in 16 quarterly installments beginning on November 1, 2020. The second portion of the award consisted of a target number of 224&#160;thousand PSOs, which were scheduled to vest at the end of the three-year performance period from January 2021 through December 2023. The actual number of PSOs eligible to vest ranged from 0% to 200% of the target number, depending on the level of achievement of goals related to revenue growth and free cash flow per share growth during the performance period.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The vesting of the above awards was conditioned on Mr. Courtot&#8217;s continued service through the vesting dates or, for PSOs and PSUs, the dates that performance is certified in addition to the achievement of performance goals. If Mr. Courtot&#8217;s employment was terminated (a) by reason of death or disability or (b) by the Company for reasons other than cause or good reason within 12 months following a change in control, then 100% of any unvested portions of these awards would vest, with any vesting in connection with change in control terminations conditioned upon the effectiveness of a release of claims in favor of the Company.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In February 2021 and 2020, 22&#160;thousand shares (representing 200% of target number of awards) and 15 thousand shares (representing 135% of target number of awards) under the equity award for 2019 for Mr. Courtot, vested as a result of the Company achieving the corresponding level of performance goals for 2020 and 2019, respectively.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March&#160;19, 2021, Mr. Courtot resigned from the Company due to health issues. The Compensation Committee determined that Mr. Courtot&#8217;s termination of employment was on account of disability. In accordance with the grant agreements of the equity awards for 2021, 2020 and 2019 for Mr. Courtot, all remaining outstanding RSUs, PSUs and PSOs under these grants were subject to accelerated vesting and became fully vested at 100% of the target number of awards as of the date of his termination of employment, which consist of 127&#160;thousand RSUs, 44&#160;thousand PSUs and 348&#160;thousand PSOs. As a result, the Company recognized an additional $27.3 million of stock-based compensation expense due to the accelerated vesting in the consolidated statements of operations for the year ended December 31, 2021.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April&#160;27, 2021, the Compensation Committee granted to the Company&#8217;s current president and chief executive officer an equity award consisting of certain RSUs and a target number of 10&#160;thousand PSUs. The PSUs are scheduled to vest at the end of the three-year performance period from January 2021 through December 2023. The actual number of the PSUs eligible to vest range from 0% to 200% of the target number, depending on the level of achievement of goals related to revenue growth and free cash flow per share growth during the performance period. If the Company's current president and chief executive officer is terminated (a) by reason of death or disability or (b) by the Company for reasons other than cause or good reason within 12 months following a change in control, then 100% of any unvested portions of the award will vest, with any vesting in connection with terminations due to change in control conditioned upon the effectiveness of a release of claims in favor of the Company.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October&#160;28, 2021, the Compensation Committee approved to certain executive officers of the Company equity awards consisting of certain RSUs and an aggregate target number of 73&#160;thousand PSUs. The target PSUs are scheduled to vest in <span style="-sec-ix-hidden:f-1028">three</span> equal annual installments over a three-year period from January 2022 through December 2024. Each annual installments at 200% of the annual target will be considered granted when the performance targets for the corresponding performance year are determined and approved. The actual number of the PSUs eligible to vest each year range from 0% to 200% of the annual target number, depending on the level of achievement of goals related to revenue growth and adjusted EBITDA margin corresponding to that year. The vesting and release of the first and second installment is capped at 100% of the target number at the end of the first and second year, respectively, with cumulative achievement over 100%, if any, to be vested and released at the end of the third year, together with the vesting of the third installment.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October&#160;27, 2022, the Compensation Committee approved to certain executive officers of the Company equity awards consisting of certain RSUs and an aggregate target number of 86&#160;thousand PSUs. The target PSUs are scheduled to vest in <span style="-sec-ix-hidden:f-1036">three</span> equal annual installments over a three-year period from January 2023 through December 2025. Each annual installments at 200% of the annual target will be considered granted when the performance targets for the corresponding performance year is determined and approved. The actual number of the PSUs eligible to vest each year range from 0% to 200% of the annual target number, depending on the level of achievement of goals related to revenue growth and adjusted EBITDA margin corresponding to that year. The vesting and release of the first and second installment is capped at 100% of the target number at the end of the first and second year, respectively, with cumulative achievement over 100%, if any, to be vested and released at the end of the third year, together with the vesting of the third installment.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 6, 2023 and July 27, 2023, the Compensation Committee approved to certain executive officers of the Company equity awards consisting of certain RSUs and an aggregate target number of 6&#160;thousand and 9&#160;thousand PSUs, respectively. The target PSUs are scheduled to vest in <span style="-sec-ix-hidden:f-1045">three</span> equal annual installments over a three-year period from January 2023 through December 2025. Each annual installments at 200% of the annual target will be considered granted when the performance targets for the corresponding performance year are determined and approved. The actual number of the PSUs eligible to vest each year ranges from 0% to 200% of the annual target number, depending on the level of achievement of goals related to revenue growth and adjusted EBITDA margin corresponding to that year. The vesting and release of the first and second installment is capped at 100% of the target number at the end of the first and second year, respectively, with cumulative achievement over 100%, if any, to be vested and released at the end of the third year, together with the vesting of the third installment.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October 26, 2023, the Compensation Committee approved to certain executive officers of the Company equity awards consisting of certain RSUs and an aggregate target number of 81&#160;thousand PSUs. The target PSUs are scheduled to vest in <span style="-sec-ix-hidden:f-1053">three</span> equal annual installments over a three-year period from January 2024 through December 2026. Each annual installments at 200% of the annual target will be considered granted when the performance targets for the corresponding performance year is determined and approved. The performance targets are determined and approved each year in the first quarter of the corresponding performance year. Accordingly, such awards are not considered granted for accounting purposes as of December 31, 2023. The actual number of the PSUs eligible to vest each year range from 0% to 200% of the annual target number, depending on the level of achievement of goals related to revenue growth and adjusted EBITDA margin corresponding to that year. The vesting and release of the first and second installment is capped at 100% of the target number at the end of the first and second year, respectively, with cumulative achievement over 100%, if any, to be vested and released at the end of the third year, together with the vesting of the third installment.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the PSUs approved on October 28, 2021, October 27, 2022, February 6, 2023, July 27, 2023 and October 26, 2023, any unvested PSU award may be accelerated in part or in full upon the occurrence of certain events, such as death or disability, or a change in control, as defined in the grant agreement.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021, stock-based compensation expenses of $[nil], $[nil] and $13.3 million for PSOs, respectively, and $7.4 million, $3.9 million and $5.3 million for PSUs, respectively, were recognized.</span></div><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock Options</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted-average grant date fair value of the Company&#8217;s stock options granted for the years ended December&#160;31, 2023, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2021</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> was</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> $49.08, $50.32 and $41.23, respectively, using the Black-Scholes-Merton option-pricing model based on the following assumptions:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected term (in years)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.8 to 3.9</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.3 to 4.4</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.2 to 5.5</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42% to 43%</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40% to 43%</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38% to 41%</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.7% to 4.9%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.7% to 4.2%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.5% to 1.2%</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Dividend yield</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected term of the options is based on evaluations of historical and expected future employee exercise behavior. The risk-free interest rate is based on the U.S. Treasury rates at the date of grant with maturity dates equal to the expected term at the grant date. The volatility was estimated using the historical volatility derived from the Company's common stock. The Company has not historically declared any dividends and does not expect to in the future. </span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of the Company&#8217;s stock option activity is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:47.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Outstanding Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Exercise <br/>Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Remaining <br/>Contractual Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Aggregate Intrinsic Value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,807</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87.59&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58,024&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">345</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">129.00&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(582)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">78.32&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Canceled</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(123)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">125.39&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,447</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">97.98&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">142,302&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vested and expected to vest as of December 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,271</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">93.44&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.2</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">130,691&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercisable as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">739</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68.68&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">94,272&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total intrinsic value of options exercised for the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021 was $41.7 million, $39.8 million and $42.5 million, respectively. Intrinsic value of an option is the difference between the fair value of the Company&#8217;s common stock at the time of exercise and the exercise price paid. </span></div><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Units</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of the Company&#8217;s RSU activity is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:70.757%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:2.185%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Outstanding RSUs</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Grant Date<br/>Fair Value Per Share</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,183</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">124.42&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">488</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">140.08&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(414)</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">116.92&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(183)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4)</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">128.46&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,074</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">133.60&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Outstanding and expected to vest as of December 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">863</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">132.53&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt;padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 175&#160;thousand PSUs granted to certain executive officers in 2022 and 2021.</span></div><div style="padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 10&#160;thousand PSUs granted to certain executive officers in 2023</span></div><div style="padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 24&#160;thousand PSUs granted to certain executive officers in 2021.</span></div><div style="padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 22&#160;thousand PSUs granted to certain executive officers in 2022 and 2021.</span></div><div style="padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 139&#160;thousand PSUs granted to certain executive officers in 2023, 2022 and 2021. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The aggregate fair value of RSUs vested for the years ended December&#160;31, 2023, 2022 and 2021 was </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$55.7 million, $43.9 million and $59.5 million, respectively.</span></div><div style="margin-top:12pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Employee Stock Purchase Plan</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted-average grant date fair value of the Company&#8217;s ESPP for the year ended December&#160;31, 2023 and 2022 was $34.50 and $39.14, respectively, using the Black-Scholes-Merton option-pricing model based on the following assumptions:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:71.757%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.185%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.187%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected term (in years)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.5</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30.0% to 43.8%</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41.1% to 50.1% </span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.0% to 5.5%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.7% to 3.1%</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Dividend yield</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected term of the ESPP represents the six-month offering period. The risk-free interest rate is based on the U.S. Treasury rates at the date of grant with maturity dates equal to the expected term at the grant date. The volatility was estimated using the historical volatility derived from the Company's common stock. The Company has not historically declared any dividends and does not expect to in the future. </span></div><div style="margin-top:12pt;padding-left:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Share Repurchase Program</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's share repurchase program was authorized by the board of directors as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:85.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Announcement Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Authorized Dollar Value</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in millions)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 12, 2018</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">October 30, 2018</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">October 30, 2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">May 7, 2020</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 10, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">November 3, 2021</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">200.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">May 4, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">200.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 9, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,000.0&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Shares may be repurchased from time to time on the open market in accordance with Rule 10b-18 of the Exchange Act of 1934, including pursuant to a pre-set trading plan adopted in accordance with Rule 10b5-1 under the Exchange Act. All share repurchases have been made using cash resources. Repurchased shares are retired and reclassified as authorized and unissued shares of common stock. On retirement of the repurchased shares, common stock is reduced by an amount equal to the number of shares being retired multiplied by the par value. The excess amount that is retired over its par value is first allocated as a reduction to additional paid-in capital based on the original cost of additional paid-in capital per share of identified issuances. The remaining amount is allocated to accumulated deficit.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February&#160;7, 2024, the Company announced that its Board of Directors authorized an additional </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$200.0 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> under the share repurchase program, increasing the total amount of authorized repurchase to $1.2&#160;billion.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023, 2022 and 2021, the Company repurch</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ased 1.3&#160;million shares, 2.5&#160;million shares and 1.1&#160;million shares of its common stock for $170.8 million, $317.3&#160;million and $130.0 million, respectively</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. As of December&#160;31, 2023, $83.7 million remained available for share repurchases pursuant to the Company's share repurchase program.</span></div>On August 16, 2022, President Biden signed into law the Inflation Reduction Act of 2022 which contained provisions effective January 1, 2023, including a 1% excise tax on stock repurchases net of issue, which was immaterial to the Company's financial results and cash flows for the year ended December&#160;31, 2023.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//505/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193602699232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Employee Benefit Plan<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Retirement Benefits [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock', window );">Employee Benefit Plan</a></td>
<td class="text">Employee Benefits Plan<div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s 401(k) Plan was established in 2000 to provide retirement and incidental benefits for its employees. As allowed under section 401(k) of the Internal Revenue Code, the 401(k) Plan provides tax-deferred salary deductions for eligible employees. Contributions to the 401(k) Plan are limited to a maximum amount as set periodically by the Internal Revenue Service. For the years ended </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021, the Company made contributions to the 401(k) Plan of $4.1 million, $3.5 million and $2.4 million, respectively.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company contributes to a Provident Fund Plan for its employees in India, which is a defined contribution plan set up in accordance with local labor and tax laws. Gratuity is also paid by the Company to eligible employees in India in accordance with Payment of Gratuity Act, 1972. For the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021, the Company contributed $2.3 million, $2.0 million and $1.7 million, respectively, to those plans.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit plans.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 710<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//710/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 712<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//712/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 715<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//715/tableOfContent<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndEmployeeBenefitPlansTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600966336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text">Income Taxes<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s geographical breakdown of income before income taxes is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Domestic</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">164,958&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">122,013&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">80,472&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,693&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,687&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,925&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income before income taxes</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">178,651&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">133,700&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">89,397&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income tax provision consists of the following:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Current</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32,405&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35,286&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,135&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">State</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,061&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,269&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,324&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,218&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,606&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,701&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current income tax provision</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43,684&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">46,161&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,160&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Deferred</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(13,584)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(17,097)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7,342)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">State</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,009)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,055)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,722)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,035)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(301)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(659)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred income tax benefit</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(16,628)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(20,453)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9,723)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Income tax provision</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,056&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,708&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,437&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The reconciliation of the statutory federal income tax rate to the Company&#8217;s effective tax rate is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal statutory rate</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">State taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Excess tax benefits related to stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2.9)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5.2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5.4)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign source income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in valuation allowance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign-derived intangible income deduction</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4.4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4.9)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7.0)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal and state research and development credit</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1.4)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1.3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1.9)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrual to return adjustments and Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2.9)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.1)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income tax provision</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15.1&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19.2&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20.6&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Deferred Income Taxes</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred income taxes reflect the tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting purposes and the amounts used for income tax purposes. The components of the Company&#8217;s deferred tax assets and liabilities are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:73.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Deferred tax assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development credit carryforwards</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,502&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,957&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fixed assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">581&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,020&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,677&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenues</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,381&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,766&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,722&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,667&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,549&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,465&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,263&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,691&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capitalized research and development</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47,793&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,234&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,999&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,195&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">84,810&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">71,652&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Valuation allowance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(12,375)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(12,476)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">72,435&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59,176&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Deferred tax liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fixed assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,745)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating leases - right of use asset</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5,999)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(8,359)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred commissions</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,675)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,660)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total deferred tax liabilities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9,674)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(13,764)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net deferred tax assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62,761&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45,412&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The realization of deferred tax assets is dependent upon the generation of sufficient taxable income of the appropriate character in future periods. The Company regularly assesses the ability to realize its deferred tax assets and establishes a valuation allowance if it is more-likely than-not that some portion, or all, of the deferred tax assets will not be realized. The Company weighs all available positive and negative evidence, including its earnings history and results of recent operations, scheduled reversals of deferred tax liabilities, projected future taxable income, and tax planning strategies. Due to the weight of objectively verifiable negative evidence, it is more-likely-than-not that its California deferred tax assets will not be realized as of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Additionally, due to a lack of sufficient future income of the appropriate character, certain U.S. federal and state deferred tax assets are not more-likely-than-not to be realized. Accordingly, the Company has recorded a valuation allowance of $12.4 million and $12.5 million against such deferred tax assets as of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and 2022, respectively. The decrease in valuation allowance was mainly associated with the California research and development credit generated during the year ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> offset by a decrease in unrealized loss on available for sale securities that will not likely be realized in the foreseeable future.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023 and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022, the Company had $17.0 million and $16.2 million, respectively, of California research and development credit carryforwards. California research and development credits are carried forward indefinitely. As of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023 and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022, the Company had foreign tax credit carryforwards of $1.0 million and $0.9 million, respectively, which begin to expire in 2028. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activity related to the Company&#8217;s unrecognized tax benefits:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unrecognized tax benefits beginning balance</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,542&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,676&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,855&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross increase for tax positions of prior years</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">262&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">89&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross decrease for tax positions of prior years</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(25)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross increase for tax positions of current year</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,127&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">777&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">846&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lapse of statute of limitations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(33)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total unrecognized tax benefits</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,898&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,542&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,676&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unrecognized tax benefits, if recognized, would impact the income tax provision by $6.1 million, $5.3 million and $4.9 million as of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021, respectively. The remaining amount would result in the recognition of a corresponding deferred tax asset that is then offset by a full valuation allowance. As of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, the Company does not believe that its estimates, as otherwise provided for, on such tax positions will significantly increase or decrease within the next twelve months. The Company has elected to include interest and penalties as a component of income tax expense. The amounts were not material for the years ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 2022 and 2021.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company files income tax returns in the United States, including various state jurisdictions. The Company&#8217;s subsidiaries file tax returns in India and various other foreign jurisdictions. The tax years 2001 through 2023 remain open to examination by the major taxing jurisdictions in which the Company is subject to tax. The Company is also currently subject to tax audits in various jurisdictions. The Company believes that an adequate provision has been made for any adjustments that may result from tax examinations. However, the outcome of tax audits cannot be predicted with certainty. If any issues addressed in the Company's tax audits are resolved in a manner inconsistent with its expectations, the Company could be required to adjust its income tax provision in the period such resolution occurs.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> December&#160;31, 2023, the Company has undistributed earnings in certain foreign subsidiaries that the Company has indefinitely reinvested outside the United States. Due to U.S. tax rules related to taxation of foreign earnings, the unrecorded deferred tax liability is immaterial. The Company may be required to pay additional foreign withholding taxes if the Company repatriates those earnings in the future.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600926336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Geographic Area Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Segment and Geographic Area Information</a></td>
<td class="text">Segment and Geographic Area Information<div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under ASC 280 Segment Reporting, operating segments are defined as components of an entity about which separate financial information is evaluated regularly by the chief operating decision maker in deciding how to allocate resources and in assessing performance. The Company operates in one segment and has only one reportable segment. The Company&#8217;s chief operating decision maker is the Chief Executive Officer, who makes operating decisions, assesses performance and allocates resources on a consolidated basis. All of the Company&#8217;s principal operations and decision-making functions are located in the United States.</span></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue by geographic area, based on the customer's billing address, is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">332,315&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">292,291&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">252,428&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">222,143&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">197,432&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">158,744&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenues</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">554,458&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">489,723&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">411,172&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets, which consist of Property and equipment, net and Operating leases - right of use asset, by geographic area, are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:73.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42,622&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58,775&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">India</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,952&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,057&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Rest of world</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,416&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,348&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total Long-lived Assets</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,990&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">81,180&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//280/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-26<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 34<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-34<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600926336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income Per Share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Net Income Per Share</a></td>
<td class="text">Net Income Per Share<div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The computations for basic and diluted net income per share are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except per share data)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">151,595&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">107,992&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">70,960&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic weighted average shares</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,879&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,453&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,030&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effect of potentially dilutive shares:</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">482&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">672&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">863&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock units</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">237&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">216&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">224&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employee stock purchase plan</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted weighted average shares</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,602&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,344&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,118&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income per share:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.11&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.81&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.82&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.03&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.74&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.77&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Potentially dilutive shares not included in the calculation of diluted net income per share because doing so would be anti-dilutive are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">763</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">686</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">534</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock units</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">140</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employee stock purchase plan</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total anti-dilutive shares</span></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">910</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">781</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">595</span></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193597048928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 151,595<span></span>
</td>
<td class="nump">$ 107,992<span></span>
</td>
<td class="nump">$ 70,960<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193601737088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_IndividualAxis=qlys_JeffreyHankMember', window );">Jeffrey Hank [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_MtrlTermsOfTrdArrTextBlock', window );">Material Terms of Trading Arrangement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three months ended December&#160;31, 2023, the following director, as defined in Rule 16a-1(f), adopted a &#8220;Rule 10b5-1 trading arrangement&#8221; as defined in Regulation S-K Item 408, as follows:</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On November 21, 2023, Jeffrey P. Hank, the chair of our board of directors, adopted a Rule 10b5-1 trading arrangement providing for the sale from time to time of an aggregate of up to 8,850 shares of our common stock plus an additional number of shares to be granted on the date of the Company's 2024 Annual Meeting of Stockholders. Pursuant to the Company's non-employee director compensation program, each non-employee director who has served on our board of directors for at least six months prior to such date will be granted an award of restricted stock units with an intended value (based on the average of the closing prices of our common stock for the 30 trading days ending one week before the applicable grant date) of $200,000.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The trading arrangement is intended to satisfy the affirmative defense in Rule 10b5-1(c). The duration of the trading arrangement is until June 30, 2025, or earlier if all transactions under the trading arrangement are completed.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrIndName', window );">Name</a></td>
<td class="text">Jeffrey P. Hank<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrIndTitle', window );">Title</a></td>
<td class="text">chair of our board of directors<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrAdoptionDate', window );">Adoption Date</a></td>
<td class="text">November 21, 2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrDuration', window );">Arrangement Duration</a></td>
<td class="text">587 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrSecuritiesAggAvailAmt', window );">Aggregate Available</a></td>
<td class="nump">8,850<span></span>
</td>
<td class="nump">8,850<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_MtrlTermsOfTrdArrTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_MtrlTermsOfTrdArrTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TradingArrByIndTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TradingArrByIndTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrAdoptionDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrAdoptionDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrDuration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph C<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrDuration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrIndName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrIndName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrIndTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrIndTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrSecuritiesAggAvailAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrSecuritiesAggAvailAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_IndividualAxis=qlys_JeffreyHankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_IndividualAxis=qlys_JeffreyHankMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193601737840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>The Company and Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_DescriptionOfBusinessPolicyPolicyTextBlock', window );">Description Of Business</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Description of Business </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Qualys, Inc. (the &#8220;Company&#8221;, "we", "us", "our") was incorporated in the state of Delaware on</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December 30, 1999</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is headquartered in Foster City, California and has wholly-owned subsidiaries throughout the world. The Company is a leading provider of cloud-based IT, security and compliance solutions that enable organizations to identify security risks to their IT infrastructures, help protect their IT systems and applications from ever-evolving cyber-attacks and achieve compliance with internal policies and external regulations. The Company&#8217;s cloud solutions address the growing security and compliance complexities and risks that are amplified by the dissolving boundaries between internal and external IT infrastructures and web environments, the rapid adoption of cloud computing and the proliferation of geographically dispersed IT assets. Organizations can use the Company&#8217;s integrated suite of solutions delivered on Qualys' Enterprise TruRisk Platform to cost-effectively obtain a unified view of their security and compliance posture across globally-distributed IT infrastructures.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Presentation</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying consolidated financial statements and footnotes have been prepared in accordance with U.S. GAAP as well as the instructions to Form 10-K and the rules and regulations of the SEC. Certain prior year amounts have been reclassified to conform with the current year presentation. In the opinion of management, the accompanying consolidated financial statements reflect all adjustments, which include only normal recurring adjustments, necessary for the fair presentation of the Company&#8217;s consolidated financial position, results of operations and cash flows for the periods presented. The accompanying consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany transactions and balances have been eliminated upon consolidation.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of the consolidated financial statements in conformity with U.S. GAAP requires management to make certain estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of assets and liabilities at the date of the consolidated financial statements and the reported results of operations during the reporting period. The Company&#8217;s management regularly assesses these estimates, which primarily affect revenue recognition, allowance for credit loss, the valuation of goodwill and intangible assets, leases, stock-based compensation and income tax provision. Actual results could differ from those estimates and such differences may be material to the accompanying consolidated financial statements.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Concentration of Credit Risk</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Concentration of Credit Risk</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company invests its cash and cash equivalents with major financial institutions. Cash balances with any one institution at times may be in excess of federally insured limits. Cash equivalents are invested in high-quality investment grade financial instruments and are diversified. The Company has not experienced any losses in such accounts and believes it is not exposed to any significant credit risk.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Credit risk with respect to accounts receivable is dispersed due to the large number of customers. Collateral is not required for accounts receivable. As of December&#160;31, 2023 and 2022, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">no customer or channel partner accounted for more than 10% of the Company's revenues and accounts receivable balance.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock', window );">Cash, Cash Equivalents, Restricted cash and Short-Term and Long-Term Marketable Securities</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash, Cash Equivalents, Restricted cash and Short-Term and Long-Term Marketable Securities</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash and cash equivalents include cash held in banks, highly liquid money market funds, and fixed-income U.S. Treasury and government agencies, all with original maturities of three months or less when acquired. The Company&#8217;s short-term and long-term marketable securities consist of fixed-income U.S. and foreign government agency securities, corporate bonds, asset-backed securities and commercial paper. Management determines the appropriate classification of the Company's investments at the time of purchase and reevaluates such designation at each balance sheet date. The Company classifies its marketable securities as either short-term or long-term based on each instrument's underlying remaining contractual maturity date. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023 and 2022, the Company had a restricted cash balance of $2.7 million, of which $1.5 million is related to cash held in escrow as part of the Blue Hexagon acquisition and $1.2 million in the form of a letter of credit issued to the landlord of the Company's California headquarter office lease as security deposit.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents are stated at cost, which approximates fair market value. Short-term and long-term marketable securities are classified as available-for-sale debt securities (AFS debt securities) and are carried at fair value. Unrealized gains and losses in fair value of the AFS debt securities are reported in other comprehensive income (loss). When the AFS debt securities are sold, cost is based on the specific identification method, and the realized gains and losses are included in other income (expense), net in the consolidated statements of operations. AFS debt securities are reviewed quarterly for impairment. An investment is considered impaired when its fair value is below its amortized cost. Declines in fair value from amortized cost for AFS debt securities that the company intends to sell or will more likely than not be required to sell before the expected recovery of the amortized cost basis are charged to other income (expense), net in the period in which the loss occurs. Otherwise, the credit loss component of the impairment is recorded as allowance for credit losses with an offsetting entry charged to other income (expense), net, while the remaining loss is recognized in other comprehensive income (loss).</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivablePolicy', window );">Accounts Receivable</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounts Receivable</span></div>Accounts receivable are recorded at the invoiced amount and do not bear interest. The allowance for credit losses is determined on a collective basis where similar risk characteristics exist and on an individual basis when the Company identifies significant customers or invoices with collectability issues. The estimate for credit losses considers historical write-offs by aging category, that are adjusted for current conditions and reasonable and supportable forecasts of future losses. Any change in the assumptions used in analyzing credit losses may result in additional allowances being recognized in the period in which the change occurs. When the Company ultimately concludes that a receivable is uncollectible, the balance is written off against the allowance for credit losses. Payments subsequently received on such receivables are recognized in the period received. The allowance for credit losses recognized and write-offs charged against the allowance were not significant for the years ended December&#160;31, 2023 and 2022. The balance of accounts receivable, net of allowance for credit losses was $146.2 million, $121.8 million and $109.0 million as of December&#160;31, 2023, December&#160;31, 2022 and December&#160;31, 2021, respectively.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SecuritiesOwnedNotReadilyMarketablePolicy', window );">Non-marketable securities</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Non-marketable securities</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2018, the Company invested $2.5 million in preferred stock of a privately-held company (the &#8220;Investee&#8221;). The fair value of the investment is not readily available, and there are no quoted market prices for the investment. The Company elected the measurement alternative to account for the investment at cost less impairment and will measure the investment at fair value when the Company identifies observable price changes. The investment is assessed for impairment annually or whenever events or changes in circumstances indicate that the fair value of the investment is less than carrying value. The investment is included in other noncurrent assets in the consolidated balance sheets. The Company has not received any dividends from the investment. During the second quarter of 2023, the Company identified an observable price change in the investment and recognized an immaterial unrealized loss in other income (expense), net of the consolidated statement of operations.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2019, the Company made an advance payment of $0.6 million to the Investee for it to perform certain technology development work, which should either be settled in the form of royalty fee charges when the technology materializes and is licensed to the Company or, otherwise, should be repaid to the Company in cash. The advance payment was recorded in other non-current assets in the consolidated balance sheet. During the fourth quarter ended December 31, 2021, the technology has not been developed and the Company decided to no longer pursue the development of the technology or the collection of the advanced amount. Accordingly, the entire amount of the advance payment was written off and recorded in the general and administrative expense during the year ended December 31, 2021.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property and Equipment, net</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment, net</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost less accumulated depreciation and amortization. Depreciation is computed using the straight-line method over the estimated useful lives of the assets, which range from <span style="-sec-ix-hidden:f-400">three</span> to five years. Leasehold improvements are amortized on a straight-line basis over the lesser of the estimated useful life of the asset or the remaining lease term.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company purchases physical scanner appliances and other computer equipment that are provided to some customers on a subscription basis. This equipment is recorded within property and equipment and the depreciation is recorded in cost of revenues over an estimated useful life of three years.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Upon retirement or disposal, the cost of assets and the related accumulated depreciation are removed from the accounts and any resulting gain or loss is reflected in the consolidated statements of operations. Repairs and maintenance that do not extend the life of an asset are expensed as incurred and major improvements are capitalized as property and equipment.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeasesPolicyTextBlock', window );">Leases</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Leases</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases certain offices, computer equipment and its shared cloud platform facilities under finance leases and non-cancelable operating leases. For both operating and finance leases, the Company recognizes a right-of-use asset, which represents the Company's right to use the underlying asset for the lease term, and a lease liability, which represents the present value of the Company's obligation to make payments arising over the lease term. Many of the Company's leases include rental escalation clauses, renewal options and/or termination options that are factored into the Company's determination of lease payments and lease terms when appropriate. The present value of the lease payments is calculated using the incremental borrowing rate of the underlying leases determined at lease commencement. As most of the Company's leases do not provide a readily determinable implicit rate, the Company determines an incremental borrowing rate using a portfolio approach based on the rate of interest that the Company would have to pay to borrow an amount equal to the lease payments on a collateralized basis over a similar term as the leases. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Where the Company is the lessee, the Company elects to account for non-lease components associated with its leases (e.g., common area maintenance costs) and lease components separately for substantially all of its asset classes, except for shared cloud platforms, for which the Company elected to combine lease and non-lease components. For leases with a term of one year or less, the Company has elected not to record the right-of-use asset or liability.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In arrangements where the Company is the lessor, the Company elected to apply the practical expedient to account for lease components (e.g., customer premise equipment) and non-lease components (e.g., service revenue) as combined components as revenue under ASC 606 as service revenues are the predominant components in the arrangements.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Impairment of Long-Lived Assets</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Impairment of Long-Lived Assets </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluates its long-lived assets, which consist of property and equipment, and intangible assets subject to amortization, for indicators of possible impairment when events or changes in circumstances indicate the carrying amount of an asset may not be recoverable. Impairment exists if the carrying amounts of such assets exceed the estimates of future undiscounted cash flows expected to be generated by such assets. Should an impairment exist, the impairment loss would be measured based on the excess carrying value of the asset over the asset&#8217;s estimated fair value. For the years ended December&#160;31, 2023, 2022 and 2021, there was no impairment of long-lived assets.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Goodwill and Intangible Assets and Software Development Costs</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill and Intangible Assets</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill represents the excess of the purchase price over the fair value of the net tangible and identifiable intangible assets acquired in a business combination. Goodwill and indefinite-lived intangible assets are not amortized but tested for impairment at least annually or more frequently if certain circumstances indicate a possible impairment may exist. The goodwill impairment tests are performed at the reporting unit level. The Company&#8217;s operations are organized as one reporting unit.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In testing for a potential impairment of goodwill and the indefinite-lived intangible assets, the Company first performs a qualitative assessment to determine if it is more likely than not (a more than 50% likelihood) that the fair value of the reporting unit or the indefinite-lived intangible assets is less than their carrying amount. If the fair value is not considered to be less than the carrying amount, no further evaluation is necessary. Otherwise, the Company will perform a quantitative test. Goodwill impairment is measured as the amount by which the carrying value of the reporting unit or the indefinite-lived intangible assets exceeds their fair value. The Company performed the annual assessments on December 1, 2023 and 2022 and concluded there was no impairment of goodwill or the indefinite-lived intangible assets.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Software Development Costs</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The costs to develop software that is marketed externally have not been capitalized as the Company believes its current software development process is essentially completed concurrent with the establishment of technological feasibility. As such, all related software development costs are expensed as incurred and included in research and development expense on the Company's consolidated statements of operations.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs related to software developed, acquired or modified for internal use are capitalized and included in other noncurrent assets on the consolidated balance sheets. Costs incurred during the preliminary planning and evaluation stage of the project and during the post implementation stages of the project are expensed as incurred. Costs incurred during the application development stage of the project are capitalized. These capitalized costs consist of internal compensation related costs and external direct costs.   Costs related to software developed for internal use are amortized over an estimated useful life of three years and recorded in cost of revenues. Management evaluates the useful lives of these assets on an annual basis and tests for impairment whenever events or changes in circumstances occur that could impact the recoverability of these assets. As of December&#160;31, 2023 and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, unamortized balances related to the Company's internally developed software costs are immaterial.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_AssetAcquisitionsPolicyTextBlock', window );">Asset Acquisitions</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Asset Acquisitions and Business Combinations </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company applies the provisions of ASC 805, Business Combinations, in accounting for its acquisitions. To determine whether transactions should be accounted for as asset acquisition or business combination, the Company evaluates whether substantially all of the fair value of gross assets included in a transaction is concentrated in a single asset (or a group of similar assets), resulting in an asset acquisition, if not, resulting in a business combination. In an asset acquisition, the cost of acquiring the asset group, including transaction costs, is allocated to the acquired assets or assumed liabilities based on their relative fair values without giving rise to goodwill. In a business combination, the Company recognize separately from goodwill the assets acquired and the liabilities assumed at their acquisition date fair values. Goodwill as of the acquisition date is measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities assumed. While the Company uses its best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, its estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company records adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon the conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to its consolidated statements of operations.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationsPolicy', window );">Business Combinations</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Asset Acquisitions and Business Combinations </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company applies the provisions of ASC 805, Business Combinations, in accounting for its acquisitions. To determine whether transactions should be accounted for as asset acquisition or business combination, the Company evaluates whether substantially all of the fair value of gross assets included in a transaction is concentrated in a single asset (or a group of similar assets), resulting in an asset acquisition, if not, resulting in a business combination. In an asset acquisition, the cost of acquiring the asset group, including transaction costs, is allocated to the acquired assets or assumed liabilities based on their relative fair values without giving rise to goodwill. In a business combination, the Company recognize separately from goodwill the assets acquired and the liabilities assumed at their acquisition date fair values. Goodwill as of the acquisition date is measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities assumed. While the Company uses its best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, its estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company records adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon the conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to its consolidated statements of operations.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesReportingOfDerivativeActivity', window );">Derivative Financial Instruments</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Derivative Financial Instruments</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Derivative financial instruments are utilized by the Company to reduce foreign currency exchange risks. The Company uses foreign currency forward contracts, with maturities of 13 months or less, to mitigate the impact of foreign currency fluctuations of certain non-U.S. dollar denominated net asset positions, to date primarily cash, accounts receivable and operating lease liabilities, as well as to manage foreign currency fluctuation risk related to forecasted transactions. Open contracts are recorded within prepaid expenses and other current assets, other noncurrent assets, accrued liabilities or other noncurrent liabilities in the consolidated balance sheets. Gains and losses resulting from currency exchange rate movements on non-designated forward contracts are recognized in other income (expense), net. Any gains or losses from derivatives designated as cash flow hedges are first recorded within accumulated other comprehensive income (&#8220;AOCI&#8221;) and then reclassified into revenue or operating expenses when the hedged item impacts the consolidated statements of operations. Cash flows related to these forward contracts are classified in the Company's consolidated statements of cash flows in the same manner as the underlying hedged transaction within cash flows from operating activities.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Stock-Based Compensation</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-Based Compensation</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes the fair value of its stock options, restricted stock units (&#8220;RSUs&#8221;) and stock purchase rights under the ESPP on a straight-line basis over the requisite service periods. The fair value of each stock option or stock purchase right is estimated on the date of grant using the Black-Scholes-Merton option pricing model and the fair value of each RSU is based on the Company's common stock price on the date of grant. Compensation expenses for performance-based stock options (&#8220;PSOs&#8221;) and performance-based restricted stock units (&#8220;PSUs&#8221;) are recorded based on expected achievement of the performance metrics specified in the grant, which are assessed on a quarterly basis. Forfeitures are estimated on the date of grant and revised if actual or expected forfeiture materially differs from original estimates.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue Recognition</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company derives revenues from subscriptions that require customers to pay a fee in order to access the Company&#8217;s cloud solutions. Contract period with customers generally are one year with occasional contracts ranging up to five years. The subscription fee entitles the customer to an unlimited number of scans for a specified number of networked devices or web applications and, if requested by a customer as part of their subscription, a specified number of physical or virtual scanner appliances. The Company&#8217;s physical and virtual scanner appliances are requested by certain customers as part of their subscriptions in order to scan IT infrastructures within their firewalls and do not function without, and are not sold separately from, subscriptions for the Company&#8217;s solutions. In some limited cases, the Company also provides certain computer equipment used to extend Qualys' Enterprise TruRisk Platform into its customers&#8217; private cloud environment. Customers are required to return physical scanner appliances and computer equipment if they do not renew their subscriptions. </span></div><div style="margin-top:12pt;padding-left:27pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determines revenue recognition through the following steps:</span></div><div style="margin-top:6pt;padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Identification of the contract, or contracts, with a customer;</span></div><div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Identification of the performance obligations in the contract;</span></div><div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Determination of the transaction price;</span></div><div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Allocation of the transaction price to the performance obligations in the contract; and</span></div><div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Recognition of revenue when, or as, the Company satisfies a performance obligation.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At the inception of a customer contract, the Company makes an assessment as to that customer's ability to pay for the services provided. The Company assesses collectability based on several factors, including credit worthiness of the customer along with past transaction history. In addition, the Company performs periodic evaluations of its customers&#8217; financial condition. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Most of the Company&#8217;s revenue contracts are subscription based and contain a single performance obligation. The subscription contracts typically do not offer to the customers any future rights that would constitute material rights. Contract prices are generally composed of fixed consideration for a specific period of time as the Company in general does not offer refunds, volume rebates, customer loyalty programs or other forms of customer incentive payments. In limited situations, contract prices are contingent on future events, such as actual usage during the contract terms, which are accounted for as variable consideration and estimated based on the most likely amount of consideration that the Company is expected to be entitled to. Estimates are included in the contract price to the extent that it is considered probable that a significant reversal in the amount of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. Such estimates are made at contract inception and updated periodically when additional information becomes available. A cumulative catch-up adjustment is made when there is a change in the estimate of variable consideration.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As the Company's cloud-based subscription services are delivered to customers electronically and over time, revenue is generally recognized ratably over the contract terms. When physical equipment is provided to the customers as part of the subscription service contract, the Company applies the practical expedient allowed under ASC 842 Leases to combine lease and nonlease components as a combined component to be accounted for under ASC 606, as the Company determined that the software subscription is the predominant component of the combined components. Therefore, the Company recognizes revenue for the physical equipment ratably over the related subscription period.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract modifications happen when there is an upsell, where the customers subsequently enter into contract with the Company to purchase additional product offerings or additional scans for additional devices. Contract modifications related to upsells are accounted for prospectively.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenues consist of customer contracts billed or cash received that will be recognized in the future under subscriptions existing at the balance sheet date. The current portion of deferred revenues represents amounts that are expected to be recognized within one year of the balance sheet date.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs of shipping and handling charges incurred by the Company associated with physical scanner appliances and other computer equipment are included in cost of revenues. Sales taxes and other taxes collected from customers to be remitted to government authorities are excluded from revenues.</span></div>Incremental direct costs of obtaining a contract, which consist of sales commissions primarily for new business and upsells, are deferred and amortized over the estimated life of the customer relationship if renewals are expected and the renewal commission is not commensurate with the initial commission. The Company elected the practical expedient to expense commissions on renewals where the specific anticipated contract term amortization period is one year or less. The Company amortizes the capitalized commission cost as a selling expense on a straight-line basis over a period of five years. The Company classifies deferred commissions as current or noncurrent based on the timing of when it expects to recognize the expense. The current and noncurrent portions of deferred commissions are included in prepaid expenses and other current assets and other noncurrent assets, respectively, in its consolidated balance sheets.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingCostsPolicyTextBlock', window );">Advertising Expenses</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Advertising Expenses</span></div>Advertising costs are expensed as incurred and are included in sales and marketing expense in the consolidated statements of operations.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company provides for the effect of income taxes in its consolidated financial statements using the asset and liability method which requires the recognition of deferred tax assets and liabilities for the expected future tax consequences of events that have been included in the consolidated financial statements. Under this method, deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases, net operating loss carryovers, and tax credit carry forwards. The Company regularly reviews its deferred tax assets for recoverability and establishes a valuation allowance if it is more likely than not that some portion or all of the deferred tax assets will not be realized. To make this assessment, the Company takes into account predictions of the amount and category of taxable income from various sources and all available positive and negative evidence about these possible sources of taxable income. The weight given to the potential effect of negative and positive evidence is commensurate with the extent to which the strength of the evidence can be objectively verified. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in the period that includes the enactment date.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income tax expense or benefit is recognized for the amount of taxes payable or refundable for the current year and for deferred tax assets and liabilities for the tax consequences of events that have been recognized in an entity&#8217;s financial statements or tax returns. The Company must make significant assumptions, judgments and estimates to determine its current income tax provision (benefit), its deferred tax assets and liabilities, and any valuation allowance to be recorded against its deferred tax assets. The Company's estimates and assumptions may differ from the actual results as reflected on its income tax returns and will record the required adjustments when they are identified or resolved.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company applies a two-step approach to determining the financial statement recognition and measurement of uncertain tax positions. The Company only recognizes an income tax expense or benefit with respect to uncertain tax positions in its financial statements that the Company judges is more likely than not to be sustained solely on its technical merits in a tax audit, including resolution of any related appeals or litigation processes. To make this judgment, the Company must interpret complex and sometimes ambiguous tax laws, regulations and administrative practices. If an income tax position meets the more likely than not recognition threshold, then the Company must measure the amount of the tax benefit to be recognized by determining the largest amount of tax benefit that has a greater than a 50% likelihood of being realized upon effective settlement with a taxing authority that has full knowledge of all of the relevant facts. It is inherently difficult and subjective to estimate such amounts, as this requires the Company to determine the probability of various possible settlement outcomes. To determine if a tax position is effectively settled after a tax examination has been completed, the Company must also estimate the likelihood that another taxing authority could review the respective tax position. The Company must also determine when it is reasonably possible that the amount of unrecognized tax benefits will significantly increase or decrease in the 12 months after each fiscal year-end. These judgments are difficult because a taxing authority may change its behavior as a result of the Company's disclosures in its financial statements. The Company must reevaluate its income tax positions on a quarterly basis to consider factors such as changes in facts or circumstances, changes in tax law, effectively settled issues under audit, and new audit activity. Such a change in recognition or measurement would result in recognition of a tax benefit or an additional charge to the tax provision. The Company's policy is to recognize interest and penalties related to unrecognized tax benefits as a component of the provision for income taxes.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock', window );">Comprehensive Income (Loss)</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Comprehensive Income (Loss)</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other comprehensive income (loss) consists of unrealized gains (losses) on marketable securities, net of tax, and derivative financial instruments designated as cash flow hedges, net of tax, which are not included in the Company&#8217;s net income. Total comprehensive income includes net income and other comprehensive income (loss) and is included in the consolidated statements of comprehensive income.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign Currency Transactions</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Foreign Currency Transactions</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s operations are conducted in various countries around the world and the financial statements of its foreign subsidiaries are reported in the U.S. dollar as their respective functional currency. Monetary assets and liabilities denominated in foreign currencies have been re-measured into U.S. dollars using the exchange rates in effect at the balance sheet date, and income and expenses are re-measured at average exchange rates during the period. Foreign currency re-measurement gains and losses and foreign currency transaction gains and losses are recognized in other income (expense), net.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Net Income Per Share</a></td>
<td class="text"><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Net Income Per Share </span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic net income per share is computed by dividing net income by the weighted-average number of shares outstanding during the period. Diluted net income per share is computed by dividing net income by the weighted-average number of shares outstanding plus potentially dilutive shares outstanding during the period. The potentially dilutive shares are computed by applying the treasury stock method to the Company's stock options, RSUs and the stock purchase rights under the ESPP. Any potential shares that would be anti-dilutive are excluded from the computation of diluted net income per share.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recently Adopted Accounting Pronouncements and Recently Issued Accounting Pronouncements Not Yet Adopted</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recently Adopted Accounting Pronouncements</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div style="margin-top:12pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recently Issued Accounting Pronouncements Not Yet Adopted</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2023, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2023-07 requiring enhanced segment disclosures. The ASU requires disclosure of significant segment expenses regularly provided to the chief operating decision maker ("CODM") included within segment operating profit or loss. Additionally, the ASU requires a description of how the CODM utilizes segment operating profit or loss to assess segment performance. The requirements of the ASU are effective for annual periods beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company's annual reporting requirements will be effective for fiscal 2024 and interim reporting requirements will be effective beginning with the first quarter of fiscal 2025. Early adoption is permitted and retrospective application is required for all periods presented. The Company is in the process of analyzing the impact of the ASU on related disclosures.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2023, the FASB issued ASU 2023-09 requiring enhanced income tax disclosures. The ASU requires disclosure of specific categories and disaggregation of information in the rate reconciliation table. The ASU also requires disclosure of disaggregated information related to income taxes paid, income or loss from continuing operations before income tax expense or benefit, and income tax expense or benefit from continuing operations. The requirements of the ASU are effective for annual periods beginning after December 15, 2024. Early adoption is permitted and the amendments should be applied on a prospective basis. Retrospective application is permitted. The Company is in the process of analyzing the impact of the ASU on related disclosures.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company does not believe any other new accounting pronouncements issued by the FASB that have not become effective will have a material impact on its consolidated financial statements.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_AssetAcquisitionsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Asset Acquisitions</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_AssetAcquisitionsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accounting policies disclosure for cash, cash equivalent and short-term and long-term investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_DescriptionOfBusinessPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for description of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_DescriptionOfBusinessPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for advertising cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 35<br> -Topic 720<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483406/720-35-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -Subparagraph (a)-(d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479515/805-10-05-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomePolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480981/942-825-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesReportingOfDerivativeActivity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for derivatives entered into for trading purposes and those entered into for purposes other than trading including where and when derivative financial instruments and derivative commodity instruments and their related gains or losses are reported in the entity's statements of financial position, cash flows, and results of operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesReportingOfDerivativeActivity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//830/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482338/360-10-05-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-25<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-19<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for leasing arrangement entered into by lessee.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SecuritiesOwnedNotReadilyMarketablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for not readily marketable securities, valuation methods and significant assumptions used to determine fair value, restrictions on the investment and reasons investments are not readily marketable, including securities that are not registered, investments in nonpublic entities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 820<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481753/940-820-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecuritiesOwnedNotReadilyMarketablePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.C.Q3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.1.Q5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.3.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2.Q6)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TradeAndOtherAccountsReceivablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481569/310-20-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-11B<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-6<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivablePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193604753312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value of Financial Instruments (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock', window );">Schedule of Fair Value Hierarchy of Financial Assets and Liabilities</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth by level within the fair value hierarchy the fair value of the Company's financial assets and liabilities measured at fair value on a recurring basis:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,279&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,279&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">208,536&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">208,536&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">56,465&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">56,465&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,881&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,881&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">111&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">111&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333,272&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333,359&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,986&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,986&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,986&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,986&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82,701&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82,701&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">156,662&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">156,662&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign government</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,006&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,006&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63,910&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63,910&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,027&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,027&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,493&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,493&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82,701&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">238,098&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">320,799&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,679&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,679&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,679&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,679&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock', window );">Schedule of Cash Equivalents and Marketable Securities</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's cash equivalents and marketable securities consist of the following:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:47.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents: (1)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,620&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,624&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,707&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,711&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Short-term marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,254&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,279&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23,013&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(149)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22,865&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">144,901&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">52&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(204)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">144,749&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">222,168&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">85&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(360)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">221,893&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,337&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">285&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(22)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,600&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,785&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">102&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,881&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,116&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,163&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">56,238&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">436&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(30)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">56,644&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333,113&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">525&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(390)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333,248&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="padding-left:40.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Excludes cash of $149.0 million. </span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:47.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Gains</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unrealized Losses</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents: (1)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82,701&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82,701&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29,787&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29,791&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">112,488&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">112,492&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Short-term marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,908&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(337)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,574&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">726&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">724&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">110,225&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(921)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">109,304&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign government</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,008&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,006&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">148,867&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,262)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">147,608&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,146&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(810)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,336&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,435&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(132)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,303&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,076&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(509)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,567&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">60,657&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,451)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59,206&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">322,012&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,713)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">319,306&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span>Excludes cash of $61.2 million.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock', window );">Schedule of Gross Unrealized Losses and Fair Value of Marketable Securities</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the gross unrealized losses and fair value of the Company's marketable securities that were in an unrealized loss position aggregated by length of time: </span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:22.328%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.185%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.185%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.185%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.185%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.185%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.192%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Less than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">12 months or longer</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,838&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,838&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,485&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,485&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,717&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(171)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,717&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(171)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43,373&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(18)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,172&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(188)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61,545&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(206)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68,211&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(25)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,374&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(365)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">108,585&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(390)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:21.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.334%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Less than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">12 months or longer</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized losses</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign government agencies</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">998&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">998&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,365&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(124)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,652&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,017&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(134)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33,800&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(389)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,326&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(758)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">60,126&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,147)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Treasury and government agencies</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">89,802&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,175)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,833&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(255)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">126,635&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,430)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">137,965&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,690)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">64,811&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,023)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">202,776&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,713)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock', window );">Schedule of Fair Value of Marketable Securities</a></td>
<td class="text"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes the fair value of marketable securities by contractual maturity:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:73.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due within One Year</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">276,875&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">276,604&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due after One Year through Two Years</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,814&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,982&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Mature over Two Years</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,639&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,781&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,785&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,881&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333,113&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">333,248&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeInstrumentsTextBlock', window );">Schedule of the Fair Value of Derivative Instruments</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the fair value of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">derivative financial instruments as of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and 2022:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:73.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands) </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts designated as cash flow hedge</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,041&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts not designated as hedging instruments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">48&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">452&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">111&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,493&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Liabilities</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts designated as cash flow hedge</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,502&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,634&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency forward contracts not designated as hedging instruments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">484&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,045&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,986&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,679&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock', window );">Schedule of Derivative Instruments, Gain (Loss)</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes the gains (losses) recognized from forward contracts and other foreign currency transactions in other income (expense), net in the consolidated statements of operations:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands) </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net (losses) gains from non-designated forward contracts</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(198)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,093&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,452&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other foreign currency transactions losses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(499)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6,864)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,749)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total foreign exchange losses, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(697)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,771)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(297)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of cash and cash equivalents and debt securities available-for-sale amortized cost to fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479081/326-30-55-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-6<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4E<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4C<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeInstrumentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of pertinent information about a derivative or group of derivatives on a disaggregated basis, such as for individual instruments, or small groups of similar instruments. May include a combination of the type of instrument, risks being hedged, notional amount, hedge designation, related hedged item, inception date, maturity date, or other relevant item.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 815<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-1A<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-1B<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-8<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-5<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4C<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193596177344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accumulated Other Comprehensive Income (Loss) (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock', window );">Schedule of Accumulated Other Comprehensive Income (Loss)</a></td>
<td class="text"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components and changes in accumulated other comprehensive income (loss) were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Available-for-sale debt securities</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cash flow hedges</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balances at December 31, 2020</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,224&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,708)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(484)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in unrealized gains (losses) during the period</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,854)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,837&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">983&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amount reclassified into income during the period</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">933&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">955&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tax effect</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">423&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(870)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(447)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net change during the period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,409)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,900&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,491&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balances at December 31, 2021</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(185)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,192&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,007&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in unrealized gains (losses) during the period</span></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,462)</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">581&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,881)</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amount reclassified into income during the period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,147)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,147)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tax effect</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(58)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">132&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net change during the period</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,520)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(434)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,954)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balances at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,705)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">758&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,947)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in unrealized gains (losses) during the period</span></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,858&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,362)</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,496&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amount reclassified into income during the period</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(16)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,957)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,973)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tax effect</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(29)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">749&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">720&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net change during the period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,813&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,570)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">243&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balances at December 31, 2023</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">108&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,812)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,704)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock', window );">Schedule of Effects on Incomebefore Income Taxes Reclassified from AOCI</a></td>
<td class="text"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The effects on income before income taxes of amounts reclassified from AOCI to the consolidated statements of operations were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Reclassification of AOCI - Available-for-sale debt securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other income (expense), net</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(22)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Reclassification of AOCI - Cash flow hedges</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,077&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,897&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,667)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenues</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(258)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(169)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">149&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(712)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(478)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">492&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(44)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(30)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(106)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(73)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">65&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,957&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,147&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(933)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information about items reclassified out of accumulated other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accumulated other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600996112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment, Net (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Schedule of Property and Equipment, Net</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net, which includes assets under finance leases, consists of the following: </span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:73.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computer equipment</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">179,002&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">173,832&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computer software</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,133&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,808&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Leasehold improvements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,924&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,009&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Scanner appliances</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,369&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,696&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furniture, fixtures and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,699&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,524&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total property and equipment</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">251,127&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">242,869&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: accumulated depreciation and amortization</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(218,528)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(195,441)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32,599&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47,428&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193609639792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue from Contracts With Customers (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock', window );">Schedule of Expected Revenue from Performance Obligations</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the expected revenue from all remaining performance obligations as of December&#160;31, 2023:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:84.614%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.186%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">200,872&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">122,465&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">46,327&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,291&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">397&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2029 and thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">374,415&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Schedule of Revenue by Sales Channel</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues by sales channel are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Direct</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">314,988&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">285,382&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">243,389&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Partner</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">239,470&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">204,341&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">167,783&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">554,458&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">489,723&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">411,172&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostTableTextBlock', window );">Schedule of Deferred Costs to Obtain Contracts</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred costs to obtain contracts are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:73.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,858&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,018&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Noncurrent</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,844&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,090&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of cost capitalized in obtaining or fulfilling contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 340<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479483/340-40-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of expected timing for satisfying remaining performance obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193696159472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets, Net (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock', window );">Schedule of Acquired Finite-Lived Intangible Assets by Major Class</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying values of intangible assets are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:33.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.333%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Life <br/>(Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average <br/>Remaining Life (Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization </span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net Book Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developed technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,141&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(30,667)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,474&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Patent licenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14.0</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.7</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,387&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,322)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">65&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assembled workforce</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.0</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.8</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">359&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(223)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">136&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangibles subject to amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41,887&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(32,212)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,675&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets not subject to amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,715&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:33.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.333%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Life <br/>(Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average <br/>Remaining Life (Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net Book Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developed technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.4</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,141&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(27,860)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,281&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Patent licenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14.0</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.7</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,387&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,221)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">166&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assembled workforce</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.0</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.7</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">359&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(45)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">314&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangibles subject to amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41,887&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(29,126)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,761&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets not subject to amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,801&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock', window );">Schedule of Acquired Indefinite-Lived Intangible Assets by Major Class</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying values of intangible assets are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:33.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.333%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Life <br/>(Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average <br/>Remaining Life (Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization </span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net Book Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developed technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,141&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(30,667)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,474&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Patent licenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14.0</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.7</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,387&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,322)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">65&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assembled workforce</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.0</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.8</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">359&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(223)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">136&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangibles subject to amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41,887&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(32,212)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,675&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets not subject to amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,715&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:33.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.333%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Life <br/>(Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average <br/>Remaining Life (Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accumulated <br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net Book Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developed technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.4</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,141&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(27,860)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,281&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Patent licenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14.0</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.7</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,387&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,221)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">166&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assembled workforce</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.0</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.7</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">359&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(45)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">314&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangibles subject to amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41,887&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(29,126)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,761&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets not subject to amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,801&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, the Company expects amortization expense in future periods to be as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:84.614%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.186%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,904&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,556&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,477&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,738&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total expected future amortization expense</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,675&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of acquired indefinite-lived intangible assets. Indefinite-lived intangible assets are assets that have no physical form, but have expected future economic benefit. Indefinite-lived assets are assets that are not subject to amortization. Acquired indefinite-lived intangible assets are disclosed by major class (assets that can be grouped together because they are similar, either by their nature or by their use in operations of the entity) and in total.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600125088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Schedule of Supplemental Cash Flow Information</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental cash flow information related to operating leases was as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash payments included in the measurement of lease liabilities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,984&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,751&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,646&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease liabilities arising from obtaining right-of-use assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">121&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,669&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,110&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_AssetsAndLiabilitiesLesseeTableTextBlock', window );">Schedule of Weighted Average Remaining Lease Term and Weighted Average Discount Rate</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted average remaining lease term and the weighted average discount rate of the Company's operating leases were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:73.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term (years)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.7</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average discount rate</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of Operating Lease Liability</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Maturities of the Company's operating lease liabilities as of December&#160;31, 2023 are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:84.614%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.186%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands) </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,053&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,747&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,498&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,353&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,466&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total minimum lease payments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,117&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,375)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Present value of net minimum lease payments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,742&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: lease liabilities, current</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(11,857)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease liabilities, noncurrent</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,885&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_AssetsAndLiabilitiesLesseeTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Assets And Liabilities, Lessee [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_AssetsAndLiabilitiesLesseeTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193609706432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitment and Contingencies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ContractualObligationFiscalYearMaturityScheduleTableTextBlock', window );">Schedule of Commitment and Contingencies</a></td>
<td class="text">As of December&#160;31, 2023, these remaining purchase commitments for future periods are as follows:<div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:84.614%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.186%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,743&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,768&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,365&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,784&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total purchase commitments</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61,660&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ContractualObligationFiscalYearMaturityScheduleTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of contractual obligation by timing of payment due. Includes, but is not limited to, long-term debt obligation, lease obligation, and purchase obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (S-X 210.12-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ContractualObligationFiscalYearMaturityScheduleTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193596363936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity and Stock-based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Schedule of Stock-Based Compensation</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows a summary of the stock-based compensation expenses included in the consolidated statements of operations for the years ended December&#160;31, 2023, 2022 and 2021:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenues</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,300&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,305&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,782&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,091&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,585&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,750&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,234&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,837&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,323&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,454&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23,681&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">46,724&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total stock-based compensation, net of amounts capitalized (1)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">69,079&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53,408&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">67,579&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;padding-left:31.5pt;text-align:justify;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Total stock-based compensation expense capitalized was de minimis during the year ended December&#160;31, 2023.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Schedule of Valuation Assumptions</a></td>
<td class="text"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted-average grant date fair value of the Company&#8217;s stock options granted for the years ended December&#160;31, 2023, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2021</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> was</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> $49.08, $50.32 and $41.23, respectively, using the Black-Scholes-Merton option-pricing model based on the following assumptions:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected term (in years)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.8 to 3.9</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.3 to 4.4</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.2 to 5.5</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42% to 43%</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40% to 43%</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38% to 41%</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.7% to 4.9%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.7% to 4.2%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.5% to 1.2%</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Dividend yield</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Schedule of Stock Option Activity</a></td>
<td class="text"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of the Company&#8217;s stock option activity is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:47.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Outstanding Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Exercise <br/>Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Remaining <br/>Contractual Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Aggregate Intrinsic Value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,807</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87.59&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58,024&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">345</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">129.00&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(582)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">78.32&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Canceled</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(123)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">125.39&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,447</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">97.98&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">142,302&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vested and expected to vest as of December 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,271</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">93.44&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.2</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">130,691&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercisable as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">739</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68.68&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">94,272&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock', window );">Schedule of RSU Activity</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of the Company&#8217;s RSU activity is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:70.757%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:2.185%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Outstanding RSUs</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted Average Grant Date<br/>Fair Value Per Share</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,183</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">124.42&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">488</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">140.08&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(414)</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">116.92&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(183)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4)</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">128.46&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,074</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">133.60&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Outstanding and expected to vest as of December 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">863</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">132.53&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt;padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 175&#160;thousand PSUs granted to certain executive officers in 2022 and 2021.</span></div><div style="padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 10&#160;thousand PSUs granted to certain executive officers in 2023</span></div><div style="padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 24&#160;thousand PSUs granted to certain executive officers in 2021.</span></div><div style="padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 22&#160;thousand PSUs granted to certain executive officers in 2022 and 2021.</span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5)</span>Included 139&#160;thousand PSUs granted to certain executive officers in 2023, 2022 and 2021.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock', window );">Schedule of Share-Based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted-average grant date fair value of the Company&#8217;s ESPP for the year ended December&#160;31, 2023 and 2022 was $34.50 and $39.14, respectively, using the Black-Scholes-Merton option-pricing model based on the following assumptions:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:71.757%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.185%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.187%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected term (in years)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.5</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30.0% to 43.8%</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41.1% to 50.1% </span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.0% to 5.5%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.7% to 3.1%</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Dividend yield</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_ShareRepurchaseProgramTableTextBlock', window );">Schedule of the Share Repurchase Program</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's share repurchase program was authorized by the board of directors as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:85.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Announcement Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Authorized Dollar Value</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in millions)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 12, 2018</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">October 30, 2018</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">October 30, 2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">May 7, 2020</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 10, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">November 3, 2021</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">200.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">May 4, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">200.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 9, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,000.0&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_ShareRepurchaseProgramTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of share repurchase program.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_ShareRepurchaseProgramTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of employee stock purchase plans, including, but not limited to: (a) expected term, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (f)(2)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (f)(2)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193602798416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock', window );">Schedule of Income before Income Tax, Domestic and Foreign</a></td>
<td class="text"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s geographical breakdown of income before income taxes is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Domestic</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">164,958&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">122,013&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">80,472&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,693&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,687&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,925&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income before income taxes</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">178,651&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">133,700&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">89,397&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of Components of Income Tax Expense (Benefit)</a></td>
<td class="text"><div style="margin-top:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income tax provision consists of the following:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Current</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32,405&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35,286&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,135&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">State</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,061&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,269&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,324&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,218&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,606&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,701&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current income tax provision</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43,684&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">46,161&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28,160&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Deferred</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(13,584)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(17,097)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7,342)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">State</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,009)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,055)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,722)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,035)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(301)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(659)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred income tax benefit</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(16,628)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(20,453)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9,723)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Income tax provision</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,056&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,708&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,437&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Effective Income Tax Rate Reconciliation</a></td>
<td class="text"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The reconciliation of the statutory federal income tax rate to the Company&#8217;s effective tax rate is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal statutory rate</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">State taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Excess tax benefits related to stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2.9)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5.2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5.4)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign source income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in valuation allowance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign-derived intangible income deduction</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4.4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4.9)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7.0)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal and state research and development credit</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1.4)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1.3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1.9)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrual to return adjustments and Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2.9)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.1)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income tax provision</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15.1&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19.2&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20.6&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Deferred Tax Assets and Liabilities</a></td>
<td class="text">The components of the Company&#8217;s deferred tax assets and liabilities are as follows:<div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:73.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Deferred tax assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development credit carryforwards</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,502&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,957&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fixed assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">581&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,020&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,677&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenues</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,381&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,766&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,722&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,667&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,549&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,465&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,263&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,691&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capitalized research and development</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47,793&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,234&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,999&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,195&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">84,810&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">71,652&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Valuation allowance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(12,375)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(12,476)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">72,435&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59,176&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Deferred tax liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fixed assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,745)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating leases - right of use asset</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5,999)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(8,359)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred commissions</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,675)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,660)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total deferred tax liabilities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9,674)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(13,764)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net deferred tax assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62,761&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45,412&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock', window );">Schedule of Unrecognized Tax Benefits Roll Forward</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activity related to the Company&#8217;s unrecognized tax benefits:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unrecognized tax benefits beginning balance</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,542&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,676&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,855&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross increase for tax positions of prior years</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">262&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">89&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross decrease for tax positions of prior years</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(25)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross increase for tax positions of current year</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,127&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">777&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">846&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lapse of statute of limitations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(33)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total unrecognized tax benefits</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,898&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,542&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,676&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 9<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 12<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of income before income tax between domestic and foreign jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the change in unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482663/740-10-55-217<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193609661168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Geographic Area Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock', window );">Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas</a></td>
<td class="text"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue by geographic area, based on the customer's billing address, is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">332,315&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">292,291&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">252,428&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">222,143&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">197,432&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">158,744&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenues</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">554,458&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">489,723&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">411,172&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets, which consist of Property and equipment, net and Operating leases - right of use asset, by geographic area, are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:73.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42,622&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58,775&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">India</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,952&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,057&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Rest of world</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,416&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,348&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total Long-lived Assets</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,990&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">81,180&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information concerning material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193601036848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income Per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of Earnings Per Share, Basic and Diluted</a></td>
<td class="text"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The computations for basic and diluted net income per share are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except per share data)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">151,595&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">107,992&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">70,960&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic weighted average shares</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,879&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,453&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,030&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effect of potentially dilutive shares:</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">482&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">672&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">863&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock units</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">237&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">216&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">224&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employee stock purchase plan</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted weighted average shares</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,602&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,344&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40,118&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income per share:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.11&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.81&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.82&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.03&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.74&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.77&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock', window );">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share</a></td>
<td class="text"><div style="margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Potentially dilutive shares not included in the calculation of diluted net income per share because doing so would be anti-dilutive are as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"><tr><td style="width:1.0%"></td><td style="width:60.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.371%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">763</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">686</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">534</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock units</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">140</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employee stock purchase plan</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total anti-dilutive shares</span></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">910</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">781</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">595</span></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193596047360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>The Company and Summary of Significant Accounting Policies - Narrative (Details)<br></strong></div></th>
<th class="th" colspan="4">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>reportingUnit</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems', window );"><strong>Restricted Cash and Cash Equivalents Items [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCash', window );">Restricted cash</a></td>
<td class="nump">$ 2,700,000<span></span>
</td>
<td class="nump">$ 2,700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable</a></td>
<td class="nump">146,200,000<span></span>
</td>
<td class="nump">121,800,000<span></span>
</td>
<td class="nump">$ 109,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Investments', window );">Investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,500,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromDividendsReceived', window );">Dividends from investment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForAdvanceToAffiliate', window );">Advanced payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse', window );">Impairment of long-lived assets</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfReportingUnits', window );">Number of reporting units | reportingUnit</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostAmortizationPeriod', window );">Capitalized commission cost</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingExpense', window );">Advertising expense</a></td>
<td class="nump">$ 3,000,000<span></span>
</td>
<td class="nump">3,300,000<span></span>
</td>
<td class="nump">$ 2,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember', window );">Software Developed for Internal Use</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems', window );"><strong>Restricted Cash and Cash Equivalents Items [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Estimated useful life</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=qlys_ScannerAppliancesMember', window );">Scanner appliances and other computer equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems', window );"><strong>Restricted Cash and Cash Equivalents Items [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems', window );"><strong>Restricted Cash and Cash Equivalents Items [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems', window );"><strong>Restricted Cash and Cash Equivalents Items [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeTermOfContract', window );">Derivative financial instrument term</a></td>
<td class="text">13 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis=qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember', window );">Cash Held in Escrow With Blue Hexagon Acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems', window );"><strong>Restricted Cash and Cash Equivalents Items [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCash', window );">Restricted cash</a></td>
<td class="nump">$ 1,500,000<span></span>
</td>
<td class="nump">1,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis=qlys_SecurityDepositsMember', window );">Security Deposits | Letter of Credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems', window );"><strong>Restricted Cash and Cash Equivalents Items [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCash', window );">Restricted cash</a></td>
<td class="nump">$ 1,200,000<span></span>
</td>
<td class="nump">$ 1,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480833/946-310-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(5)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481058/954-310-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 720<br> -SubTopic 35<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483406/720-35-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostAmortizationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortization period of cost capitalized in obtaining or fulfilling contract with customer, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -SubTopic 40<br> -Topic 340<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479483/340-40-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostAmortizationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period the derivative contract is outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of write-downs for impairments recognized during the period for long lived assets held for use (including those held for disposal by means other than sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482130/360-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfLongLivedAssetsHeldForUse</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Investments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(h))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Investments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportingUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportingUnits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForAdvanceToAffiliate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow from advancing money to an affiliate (an entity that is related but not strictly controlled by the entity).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForAdvanceToAffiliate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromDividendsReceived">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Dividends received on equity and other investments during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromDividendsReceived</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=qlys_ScannerAppliancesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=qlys_ScannerAppliancesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis=qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis=qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis=qlys_SecurityDepositsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis=qlys_SecurityDepositsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PledgingPurposeAxis=us-gaap_LetterOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PledgingPurposeAxis=us-gaap_LetterOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193596051088">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value of Financial Instruments - Fair Value Hierarchy (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure', window );">Foreign currency forward contracts</a></td>
<td class="nump">$ 1,986<span></span>
</td>
<td class="nump">$ 4,679<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MoneyMarketFundsAtCarryingValue', window );">Money market funds</a></td>
<td class="nump">87<span></span>
</td>
<td class="nump">82,701<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommercialPaperAtCarryingValue', window );">Commercial paper</a></td>
<td class="nump">54,279<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue', window );">U.S. Treasury and government agencies</a></td>
<td class="nump">208,536<span></span>
</td>
<td class="nump">156,662<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue', window );">Foreign government</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,006<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue', window );">Corporate bonds</a></td>
<td class="nump">56,465<span></span>
</td>
<td class="nump">63,910<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetBackedSecuritiesAtCarryingValue', window );">Asset-backed securities</a></td>
<td class="nump">13,881<span></span>
</td>
<td class="nump">15,027<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue', window );">Foreign currency forward contracts</a></td>
<td class="nump">111<span></span>
</td>
<td class="nump">1,493<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentsOwnedAtFairValue', window );">Total assets</a></td>
<td class="nump">333,359<span></span>
</td>
<td class="nump">320,799<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure', window );">Foreign currency forward contracts</a></td>
<td class="nump">1,986<span></span>
</td>
<td class="nump">4,679<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialLiabilitiesFairValueDisclosure', window );">Total liabilities</a></td>
<td class="nump">1,986<span></span>
</td>
<td class="nump">4,679<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level 1 | Fair Value, Recurring</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MoneyMarketFundsAtCarryingValue', window );">Money market funds</a></td>
<td class="nump">87<span></span>
</td>
<td class="nump">82,701<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommercialPaperAtCarryingValue', window );">Commercial paper</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue', window );">U.S. Treasury and government agencies</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue', window );">Foreign government</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue', window );">Corporate bonds</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetBackedSecuritiesAtCarryingValue', window );">Asset-backed securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue', window );">Foreign currency forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentsOwnedAtFairValue', window );">Total assets</a></td>
<td class="nump">87<span></span>
</td>
<td class="nump">82,701<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure', window );">Foreign currency forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialLiabilitiesFairValueDisclosure', window );">Total liabilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level 2 | Fair Value, Recurring</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MoneyMarketFundsAtCarryingValue', window );">Money market funds</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommercialPaperAtCarryingValue', window );">Commercial paper</a></td>
<td class="nump">54,279<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue', window );">U.S. Treasury and government agencies</a></td>
<td class="nump">208,536<span></span>
</td>
<td class="nump">156,662<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue', window );">Foreign government</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,006<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue', window );">Corporate bonds</a></td>
<td class="nump">56,465<span></span>
</td>
<td class="nump">63,910<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetBackedSecuritiesAtCarryingValue', window );">Asset-backed securities</a></td>
<td class="nump">13,881<span></span>
</td>
<td class="nump">15,027<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue', window );">Foreign currency forward contracts</a></td>
<td class="nump">111<span></span>
</td>
<td class="nump">1,493<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentsOwnedAtFairValue', window );">Total assets</a></td>
<td class="nump">333,272<span></span>
</td>
<td class="nump">238,098<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure', window );">Foreign currency forward contracts</a></td>
<td class="nump">1,986<span></span>
</td>
<td class="nump">4,679<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialLiabilitiesFairValueDisclosure', window );">Total liabilities</a></td>
<td class="nump">$ 1,986<span></span>
</td>
<td class="nump">$ 4,679<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetBackedSecuritiesAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Investments in notes or bonds that are collateralized by a specific group of underlying assets owned by the issuer of the notes or bonds which are short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetBackedSecuritiesAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommercialPaperAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unsecured short-term debt instrument issued by corporations which are highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommercialPaperAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOptionQuantitativeDisclosuresLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-30<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-31<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOptionQuantitativeDisclosuresLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentsOwnedAtFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate fair value as of the balance sheet date of financial instruments and other positions owned by the entity including: (1) mortgages, mortgage-backed and asset backed securities; (2) US government and agency obligations; (3) state and municipal government obligations; (4) other sovereign government debt; (5) corporate obligations; (6) corporate equities; (7) principal investments; (8) derivative contracts; and (9) physical commodities. Includes both pledged and unpledged holdings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 320<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481961/940-320-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentsOwnedAtFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of firm holdings in corporate fixed income securities. Includes pledged and unpledged holdings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 320<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481961/940-320-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fair value as of the balance sheet date of firm holdings in all assets resulting from contracts that meet the criteria of being accounted for as derivative instruments. Their value is derived from the values of one or more underlying assets, reference rates, or indices of asset values. Includes both pledged (to counterparties as collateral for financing transactions) and unpledged holdings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4B<br> -Subparagraph c<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fair value as of the balance sheet date of firm holdings in fixed income obligations issued by foreign governments. Includes both pledged (to counterparties as collateral for financing transactions) and unpledged holdings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 320<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481961/940-320-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialLiabilitiesFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial obligations, including, but not limited to, debt instruments, derivative liabilities, federal funds purchased and sold under agreements to repurchase, securities loaned or sold under agreements to repurchase, financial instruments sold not yet purchased, guarantees, line of credit, loans and notes payable, servicing liability, and trading liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialLiabilitiesFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of liability contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward (delivery or nondelivery) contracts, and swaps entered into.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MoneyMarketFundsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MoneyMarketFundsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt securities issued by a United States government agency such as Government National Mortgage Association (Ginnie Mae), Federal Home Loan Mortgage Corporation (Freddie Mac), and Federal National Mortgage Association (Fannie Mae), which are short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193595416992">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value of Financial Instruments - Cash and Cash Equivalents (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">$ 333,113<span></span>
</td>
<td class="nump">$ 322,012<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Unrealized Gains</a></td>
<td class="nump">525<span></span>
</td>
<td class="nump">7<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Unrealized Losses</a></td>
<td class="num">(390)<span></span>
</td>
<td class="num">(2,713)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">333,248<span></span>
</td>
<td class="nump">319,306<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash excluded</a></td>
<td class="nump">149,000<span></span>
</td>
<td class="nump">61,200<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByAssetClassAxis=us-gaap_CashEquivalentsMember', window );">Cash Equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">54,707<span></span>
</td>
<td class="nump">112,488<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Unrealized Gains</a></td>
<td class="nump">4<span></span>
</td>
<td class="nump">4<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Unrealized Losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">54,711<span></span>
</td>
<td class="nump">112,492<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByAssetClassAxis=us-gaap_ShortTermInvestmentsMember', window );">Short-term marketable securities:</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">222,168<span></span>
</td>
<td class="nump">148,867<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Unrealized Gains</a></td>
<td class="nump">85<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Unrealized Losses</a></td>
<td class="num">(360)<span></span>
</td>
<td class="num">(1,262)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">221,893<span></span>
</td>
<td class="nump">147,608<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByAssetClassAxis=us-gaap_OtherLongTermInvestmentsMember', window );">Long-term marketable securities:</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">56,238<span></span>
</td>
<td class="nump">60,657<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Unrealized Gains</a></td>
<td class="nump">436<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Unrealized Losses</a></td>
<td class="num">(30)<span></span>
</td>
<td class="num">(1,451)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">56,644<span></span>
</td>
<td class="nump">59,206<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember', window );">Commercial paper | Short-term marketable securities:</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">54,254<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Unrealized Gains</a></td>
<td class="nump">32<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Unrealized Losses</a></td>
<td class="num">(7)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">54,279<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember', window );">Corporate bonds | Short-term marketable securities:</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">23,013<span></span>
</td>
<td class="nump">36,908<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Unrealized Gains</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Unrealized Losses</a></td>
<td class="num">(149)<span></span>
</td>
<td class="num">(337)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">22,865<span></span>
</td>
<td class="nump">36,574<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember', window );">Corporate bonds | Long-term marketable securities:</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">33,337<span></span>
</td>
<td class="nump">28,146<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Unrealized Gains</a></td>
<td class="nump">285<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Unrealized Losses</a></td>
<td class="num">(22)<span></span>
</td>
<td class="num">(810)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">33,600<span></span>
</td>
<td class="nump">27,336<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-backed securities | Short-term marketable securities:</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">726<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Unrealized Gains</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Unrealized Losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">724<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-backed securities | Long-term marketable securities:</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">13,785<span></span>
</td>
<td class="nump">14,435<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Unrealized Gains</a></td>
<td class="nump">102<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Unrealized Losses</a></td>
<td class="num">(6)<span></span>
</td>
<td class="num">(132)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">13,881<span></span>
</td>
<td class="nump">14,303<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember', window );">U.S. Treasury and government agencies | Short-term marketable securities:</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">144,901<span></span>
</td>
<td class="nump">110,225<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Unrealized Gains</a></td>
<td class="nump">52<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Unrealized Losses</a></td>
<td class="num">(204)<span></span>
</td>
<td class="num">(921)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">144,749<span></span>
</td>
<td class="nump">109,304<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember', window );">U.S. Treasury and government agencies | Long-term marketable securities:</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">9,116<span></span>
</td>
<td class="nump">18,076<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Unrealized Gains</a></td>
<td class="nump">49<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Unrealized Losses</a></td>
<td class="num">(2)<span></span>
</td>
<td class="num">(509)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">9,163<span></span>
</td>
<td class="nump">17,567<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=qlys_ForeignGovernmentAgenciesMember', window );">Foreign government | Short-term marketable securities:</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,008<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Unrealized Gains</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Unrealized Losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,006<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember', window );">Money market funds | Cash Equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">87<span></span>
</td>
<td class="nump">82,701<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Unrealized Gains</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Unrealized Losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">87<span></span>
</td>
<td class="nump">82,701<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember', window );">U.S. Treasury and government agencies | Cash Equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">54,620<span></span>
</td>
<td class="nump">29,787<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Unrealized Gains</a></td>
<td class="nump">4<span></span>
</td>
<td class="nump">4<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Unrealized Losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">$ 54,624<span></span>
</td>
<td class="nump">$ 29,791<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479130/326-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479130/326-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesFairValueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesFairValueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByAssetClassAxis=us-gaap_CashEquivalentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByAssetClassAxis=us-gaap_CashEquivalentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByAssetClassAxis=us-gaap_ShortTermInvestmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByAssetClassAxis=us-gaap_ShortTermInvestmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByAssetClassAxis=us-gaap_OtherLongTermInvestmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByAssetClassAxis=us-gaap_OtherLongTermInvestmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=qlys_ForeignGovernmentAgenciesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=qlys_ForeignGovernmentAgenciesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193601684000">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value of Financial Instruments - Summary of Securities in Unrealized Loss Positions (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesCurrentAbstract', window );"><strong>Less than 12 months</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Fair value</a></td>
<td class="nump">$ 68,211<span></span>
</td>
<td class="nump">$ 137,965<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="num">(25)<span></span>
</td>
<td class="num">(1,690)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesNoncurrentAbstract', window );"><strong>12 months or longer</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Fair value</a></td>
<td class="nump">40,374<span></span>
</td>
<td class="nump">64,811<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="num">(365)<span></span>
</td>
<td class="num">(1,023)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAbstract', window );"><strong>Total</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Fair value</a></td>
<td class="nump">108,585<span></span>
</td>
<td class="nump">202,776<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="num">(390)<span></span>
</td>
<td class="num">(2,713)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember', window );">Commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesCurrentAbstract', window );"><strong>Less than 12 months</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Fair value</a></td>
<td class="nump">24,838<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="num">(7)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesNoncurrentAbstract', window );"><strong>12 months or longer</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAbstract', window );"><strong>Total</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Fair value</a></td>
<td class="nump">24,838<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="num">(7)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=qlys_ForeignGovernmentAgenciesMember', window );">Foreign government</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesCurrentAbstract', window );"><strong>Less than 12 months</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Fair value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">998<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesNoncurrentAbstract', window );"><strong>12 months or longer</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Fair value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAbstract', window );"><strong>Total</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Fair value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">998<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-backed securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesCurrentAbstract', window );"><strong>Less than 12 months</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">13,365<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(124)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesNoncurrentAbstract', window );"><strong>12 months or longer</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Fair value</a></td>
<td class="nump">1,485<span></span>
</td>
<td class="nump">1,652<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="num">(6)<span></span>
</td>
<td class="num">(10)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAbstract', window );"><strong>Total</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Fair value</a></td>
<td class="nump">1,485<span></span>
</td>
<td class="nump">15,017<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="num">(6)<span></span>
</td>
<td class="num">(134)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember', window );">Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesCurrentAbstract', window );"><strong>Less than 12 months</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">33,800<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(389)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesNoncurrentAbstract', window );"><strong>12 months or longer</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Fair value</a></td>
<td class="nump">20,717<span></span>
</td>
<td class="nump">26,326<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="num">(171)<span></span>
</td>
<td class="num">(758)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAbstract', window );"><strong>Total</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Fair value</a></td>
<td class="nump">20,717<span></span>
</td>
<td class="nump">60,126<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="num">(171)<span></span>
</td>
<td class="num">(1,147)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember', window );">U.S. Treasury and government agencies</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesCurrentAbstract', window );"><strong>Less than 12 months</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Fair value</a></td>
<td class="nump">43,373<span></span>
</td>
<td class="nump">89,802<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="num">(18)<span></span>
</td>
<td class="num">(1,175)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesNoncurrentAbstract', window );"><strong>12 months or longer</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Fair value</a></td>
<td class="nump">18,172<span></span>
</td>
<td class="nump">36,833<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="num">(188)<span></span>
</td>
<td class="num">(255)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAbstract', window );"><strong>Total</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Fair value</a></td>
<td class="nump">61,545<span></span>
</td>
<td class="nump">126,635<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Gross unrealized losses</a></td>
<td class="num">$ (206)<span></span>
</td>
<td class="num">$ (1,430)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for more than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479081/326-30-55-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-7<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for 12 months or longer, without allowance for credit loss. Includes beneficial interest in securitized financial asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-7<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479081/326-30-55-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-7<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-7<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position without allowance for credit loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479081/326-30-55-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=qlys_ForeignGovernmentAgenciesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=qlys_ForeignGovernmentAgenciesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193597126384">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value of Financial Instruments - Summary of the Fair Value of Marketable Securities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract', window );"><strong>Amortized Cost</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost', window );">Due within One Year</a></td>
<td class="nump">$ 276,875<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost', window );">Due after One Year through Two Years</a></td>
<td class="nump">27,814<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost', window );">Mature over Two Years</a></td>
<td class="nump">14,639<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost', window );">Asset-backed securities</a></td>
<td class="nump">13,785<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">333,113<span></span>
</td>
<td class="nump">$ 322,012<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract', window );"><strong>Fair Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">Due within One Year</a></td>
<td class="nump">276,604<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue', window );">Due after One Year through Two Years</a></td>
<td class="nump">27,982<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue', window );">Mature over Two Years</a></td>
<td class="nump">14,781<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue', window );">Asset-backed securities</a></td>
<td class="nump">13,881<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Total</a></td>
<td class="nump">$ 333,248<span></span>
</td>
<td class="nump">$ 319,306<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479130/326-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in sixth through tenth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in sixth through tenth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480832/942-320-50-3A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480832/942-320-50-3A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480832/942-320-50-3A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), without single maturity date and not allocated over maturity grouping.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), without single maturity date and not allocated over maturity grouping.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480832/942-320-50-3A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479130/326-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193599493536">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value of Financial Instruments - Narrative (Details)<br> &#8364; in Millions, &#8360; in Millions, &#163; in Millions, $ in Millions, $ in Millions</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>EUR (&#8364;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>GBP (&#163;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>INR (&#8360;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CAD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>EUR (&#8364;)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>GBP (&#163;)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>INR (&#8360;)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>CAD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeContractMember', window );">Foreign Exchange Contract | Designated as Hedging Instrument | Cash Flow Hedging</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeNotionalAmount', window );">Derivative, notional amount</a></td>
<td class="nump">&#8364; 48.5<span></span>
</td>
<td class="nump">&#163; 14.6<span></span>
</td>
<td class="nump">&#8360; 4,042.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#8364; 37.4<span></span>
</td>
<td class="nump">&#163; 10.4<span></span>
</td>
<td class="nump">&#8360; 3,411.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeContractMember', window );">Foreign Exchange Contract | Not Designated as Hedging Instrument</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeNotionalAmount', window );">Derivative, notional amount</a></td>
<td class="nump">&#8364; 19.2<span></span>
</td>
<td class="nump">&#163; 6.0<span></span>
</td>
<td class="nump">&#8360; 440.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.0<span></span>
</td>
<td class="nump">&#8364; 40.2<span></span>
</td>
<td class="nump">&#163; 16.2<span></span>
</td>
<td class="nump">&#8360; 484.0<span></span>
</td>
<td class="nump">$ 3.8<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=qlys_ForeignExchangeContractsForGBPAndEuroMember', window );">Foreign Exchange Contracts for GBP and Euro | Designated as Hedging Instrument | Cash Flow Hedging</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months', window );">Unrealized gains (losses) before tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeNotionalAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Nominal or face amount used to calculate payment on derivative.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-1B<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeNotionalAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesFairValueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesFairValueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated net amount of unrealized gains or losses on foreign currency cash flow hedges at the reporting date expected to be reclassified to earnings within the next 12 months.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480870/815-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeContractMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeContractMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis=us-gaap_CashFlowHedgingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis=us-gaap_CashFlowHedgingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=qlys_ForeignExchangeContractsForGBPAndEuroMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=qlys_ForeignExchangeContractsForGBPAndEuroMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193601048480">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value of Financial Instruments - Summary of Derivative Financial Instruments (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure', window );">Assets</a></td>
<td class="nump">$ 111<span></span>
</td>
<td class="nump">$ 1,493<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure', window );">Liabilities</a></td>
<td class="nump">1,986<span></span>
</td>
<td class="nump">4,679<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Foreign currency forward contracts designated as cash flow hedge</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure', window );">Assets</a></td>
<td class="nump">63<span></span>
</td>
<td class="nump">1,041<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure', window );">Liabilities</a></td>
<td class="nump">1,502<span></span>
</td>
<td class="nump">2,634<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Foreign currency forward contracts not designated as hedging instruments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure', window );">Assets</a></td>
<td class="nump">48<span></span>
</td>
<td class="nump">452<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure', window );">Liabilities</a></td>
<td class="nump">$ 484<span></span>
</td>
<td class="nump">$ 2,045<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesFairValueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesFairValueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of asset contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward contracts, and swaps.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyContractAssetFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of liability contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward (delivery or nondelivery) contracts, and swaps entered into.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193601811664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value of Financial Instruments - Amounts Recognized In Statement of Operations (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments', window );">Net (losses) gains from non-designated forward contracts</a></td>
<td class="num">$ (198)<span></span>
</td>
<td class="nump">$ 5,093<span></span>
</td>
<td class="nump">$ 2,452<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Other foreign currency transactions losses</a></td>
<td class="num">(499)<span></span>
</td>
<td class="num">(6,864)<span></span>
</td>
<td class="num">(2,749)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax', window );">Total foreign exchange losses, net</a></td>
<td class="num">$ (697)<span></span>
</td>
<td class="num">$ (1,771)<span></span>
</td>
<td class="num">$ (297)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482014/830-20-35-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481956/830-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481926/830-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481839/830-10-45-17<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) recognized in earnings in the period from the increase (decrease) in fair value of foreign currency derivatives not designated as hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4C<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193594975600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accumulated Other Comprehensive Income (Loss) - Accumulated Other Comprehensive Income (Loss) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AOCIAttributableToParentNetOfTaxRollForward', window );"><strong>AOCI Attributable to Parent, Net of Tax [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance</a></td>
<td class="nump">$ 289,129<span></span>
</td>
<td class="nump">$ 436,714<span></span>
</td>
<td class="nump">$ 404,482<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent', window );">Change in unrealized gains (losses) during the period</a></td>
<td class="nump">1,496<span></span>
</td>
<td class="num">(1,881)<span></span>
</td>
<td class="nump">983<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent', window );">Amount reclassified into income during the period</a></td>
<td class="num">(1,973)<span></span>
</td>
<td class="num">(1,147)<span></span>
</td>
<td class="nump">955<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1', window );">Tax effect</a></td>
<td class="nump">720<span></span>
</td>
<td class="nump">74<span></span>
</td>
<td class="num">(447)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss), net of tax</a></td>
<td class="nump">243<span></span>
</td>
<td class="num">(2,954)<span></span>
</td>
<td class="nump">1,491<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance</a></td>
<td class="nump">368,174<span></span>
</td>
<td class="nump">289,129<span></span>
</td>
<td class="nump">436,714<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember', window );">Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AOCIAttributableToParentNetOfTaxRollForward', window );"><strong>AOCI Attributable to Parent, Net of Tax [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance</a></td>
<td class="num">(1,947)<span></span>
</td>
<td class="nump">1,007<span></span>
</td>
<td class="num">(484)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss), net of tax</a></td>
<td class="nump">243<span></span>
</td>
<td class="num">(2,954)<span></span>
</td>
<td class="nump">1,491<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance</a></td>
<td class="num">(1,704)<span></span>
</td>
<td class="num">(1,947)<span></span>
</td>
<td class="nump">1,007<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember', window );">Available-for-sale debt securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AOCIAttributableToParentNetOfTaxRollForward', window );"><strong>AOCI Attributable to Parent, Net of Tax [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance</a></td>
<td class="num">(2,705)<span></span>
</td>
<td class="num">(185)<span></span>
</td>
<td class="nump">1,224<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent', window );">Change in unrealized gains (losses) during the period</a></td>
<td class="nump">2,858<span></span>
</td>
<td class="num">(2,462)<span></span>
</td>
<td class="num">(1,854)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent', window );">Amount reclassified into income during the period</a></td>
<td class="num">(16)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">22<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1', window );">Tax effect</a></td>
<td class="num">(29)<span></span>
</td>
<td class="num">(58)<span></span>
</td>
<td class="nump">423<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss), net of tax</a></td>
<td class="nump">2,813<span></span>
</td>
<td class="num">(2,520)<span></span>
</td>
<td class="num">(1,409)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance</a></td>
<td class="nump">108<span></span>
</td>
<td class="num">(2,705)<span></span>
</td>
<td class="num">(185)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember', window );">Cash flow hedges</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AOCIAttributableToParentNetOfTaxRollForward', window );"><strong>AOCI Attributable to Parent, Net of Tax [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance</a></td>
<td class="nump">758<span></span>
</td>
<td class="nump">1,192<span></span>
</td>
<td class="num">(1,708)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent', window );">Change in unrealized gains (losses) during the period</a></td>
<td class="num">(1,362)<span></span>
</td>
<td class="nump">581<span></span>
</td>
<td class="nump">2,837<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent', window );">Amount reclassified into income during the period</a></td>
<td class="num">(1,957)<span></span>
</td>
<td class="num">(1,147)<span></span>
</td>
<td class="nump">933<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1', window );">Tax effect</a></td>
<td class="nump">749<span></span>
</td>
<td class="nump">132<span></span>
</td>
<td class="num">(870)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss), net of tax</a></td>
<td class="num">(2,570)<span></span>
</td>
<td class="num">(434)<span></span>
</td>
<td class="nump">2,900<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance</a></td>
<td class="num">$ (1,812)<span></span>
</td>
<td class="nump">$ 758<span></span>
</td>
<td class="nump">$ 1,192<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AOCIAttributableToParentNetOfTaxRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AOCIAttributableToParentNetOfTaxRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before tax and reclassification adjustments of other comprehensive income (loss) attributable to parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of other comprehensive income (loss) attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit) allocated to other comprehensive income (loss) attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of reclassification adjustments of other comprehensive income (loss) attributable to parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193595425600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accumulated Other Comprehensive Income (Loss) - Amounts Reclassified from AOCI (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract', window );"><strong>Reclassification of AOCI - Available-for-sale debt securities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (expense), net</a></td>
<td class="num">$ (1,323)<span></span>
</td>
<td class="num">$ (2,038)<span></span>
</td>
<td class="num">$ (573)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AOCIAttributableToParentAbstract', window );"><strong>Reclassification of AOCI - Cash flow hedges</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">554,458<span></span>
</td>
<td class="nump">489,723<span></span>
</td>
<td class="nump">411,172<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of revenues</a></td>
<td class="num">(107,485)<span></span>
</td>
<td class="num">(102,788)<span></span>
</td>
<td class="num">(89,439)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="num">(110,472)<span></span>
</td>
<td class="num">(101,186)<span></span>
</td>
<td class="num">(81,289)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="num">(111,691)<span></span>
</td>
<td class="num">(97,221)<span></span>
</td>
<td class="num">(76,487)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="num">(61,741)<span></span>
</td>
<td class="num">(57,981)<span></span>
</td>
<td class="num">(76,274)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">151,595<span></span>
</td>
<td class="nump">107,992<span></span>
</td>
<td class="nump">70,960<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis=us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember', window );">Reclassification out of Accumulated Other Comprehensive Income | Available-for-sale debt securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract', window );"><strong>Reclassification of AOCI - Available-for-sale debt securities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (expense), net</a></td>
<td class="nump">16<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(22)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis=us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember', window );">Reclassification out of Accumulated Other Comprehensive Income | Cash flow hedges</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AOCIAttributableToParentAbstract', window );"><strong>Reclassification of AOCI - Cash flow hedges</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">3,077<span></span>
</td>
<td class="nump">1,897<span></span>
</td>
<td class="num">(1,667)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of revenues</a></td>
<td class="num">(258)<span></span>
</td>
<td class="num">(169)<span></span>
</td>
<td class="nump">149<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="num">(712)<span></span>
</td>
<td class="num">(478)<span></span>
</td>
<td class="nump">492<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="num">(44)<span></span>
</td>
<td class="num">(30)<span></span>
</td>
<td class="nump">28<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="num">(106)<span></span>
</td>
<td class="num">(73)<span></span>
</td>
<td class="nump">65<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 1,957<span></span>
</td>
<td class="nump">$ 1,147<span></span>
</td>
<td class="num">$ (933)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AOCIAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AOCIAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis=us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis=us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193601019616">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Property and Equipment, Net - Schedule of Property and Equipment, Net (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Total property and equipment</a></td>
<td class="nump">$ 251,127<span></span>
</td>
<td class="nump">$ 242,869<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less: accumulated depreciation and amortization</a></td>
<td class="num">(218,528)<span></span>
</td>
<td class="num">(195,441)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">32,599<span></span>
</td>
<td class="nump">47,428<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember', window );">Computer equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Total property and equipment</a></td>
<td class="nump">179,002<span></span>
</td>
<td class="nump">173,832<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Computer software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Total property and equipment</a></td>
<td class="nump">26,133<span></span>
</td>
<td class="nump">25,808<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold improvements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Total property and equipment</a></td>
<td class="nump">20,924<span></span>
</td>
<td class="nump">21,009<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=qlys_ScannerAppliancesMember', window );">Scanner appliances</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Total property and equipment</a></td>
<td class="nump">18,369<span></span>
</td>
<td class="nump">15,696<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture, fixtures and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Total property and equipment</a></td>
<td class="nump">$ 6,699<span></span>
</td>
<td class="nump">$ 6,524<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerSoftwareIntangibleAssetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=qlys_ScannerAppliancesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=qlys_ScannerAppliancesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600134320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment, Net - Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">$ 32,599<span></span>
</td>
<td class="nump">$ 47,428<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">23,900<span></span>
</td>
<td class="nump">28,200<span></span>
</td>
<td class="nump">$ 28,500<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember', window );">Scanner Appliances and Other Computer Equipment Subject To Subscription</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">10,100<span></span>
</td>
<td class="nump">6,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember', window );">Scanner Appliances and Other Computer Equipment Not Placed In Service</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">$ 6,400<span></span>
</td>
<td class="nump">$ 4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents amount of depreciation, depletion and amortization excluding intangible asset amortization.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600128768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue from Contracts With Customers - Narrative (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenues recognized</a></td>
<td class="nump">$ 292.2<span></span>
</td>
<td class="nump">$ 254.9<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">317.2<span></span>
</td>
<td class="nump">$ 290.6<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostAmortization', window );">Amortization expense related to deferred costs</a></td>
<td class="nump">6.0<span></span>
</td>
<td class="nump">5.0<span></span>
</td>
<td class="nump">4.0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostImpairmentLoss', window );">Impairment loss</a></td>
<td class="nump">$ 0.0<span></span>
</td>
<td class="nump">$ 0.0<span></span>
</td>
<td class="nump">$ 0.0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479483/340-40-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of impairment loss for asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479483/340-40-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193601828160">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Revenue from Contracts with Customers - Expected Revenue from All Remaining Performance Obligations (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Revenue, remaining performance obligation</a></td>
<td class="nump">$ 374,415<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Revenue, remaining performance obligation</a></td>
<td class="nump">$ 200,872<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue, remaining performance obligation</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Revenue, remaining performance obligation</a></td>
<td class="nump">$ 122,465<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue, remaining performance obligation</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2026-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Revenue, remaining performance obligation</a></td>
<td class="nump">$ 46,327<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue, remaining performance obligation</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2027-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Revenue, remaining performance obligation</a></td>
<td class="nump">$ 4,291<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue, remaining performance obligation</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2028-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2028-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Revenue, remaining performance obligation</a></td>
<td class="nump">$ 397<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue, remaining performance obligation</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2029-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2029-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Revenue, remaining performance obligation</a></td>
<td class="nump">$ 63<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue, remaining performance obligation</a></td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2026-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2026-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2027-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2027-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2028-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2028-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2029-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2029-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193601029184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue from Contracts With Customers - Revenue by Sales Channel (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 554,458<span></span>
</td>
<td class="nump">$ 489,723<span></span>
</td>
<td class="nump">$ 411,172<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerSalesChannelAxis=us-gaap_SalesChannelDirectlyToConsumerMember', window );">Direct</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">314,988<span></span>
</td>
<td class="nump">285,382<span></span>
</td>
<td class="nump">243,389<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerSalesChannelAxis=us-gaap_SalesChannelThroughIntermediaryMember', window );">Partner</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 239,470<span></span>
</td>
<td class="nump">$ 204,341<span></span>
</td>
<td class="nump">$ 167,783<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerSalesChannelAxis=us-gaap_SalesChannelDirectlyToConsumerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerSalesChannelAxis=us-gaap_SalesChannelDirectlyToConsumerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerSalesChannelAxis=us-gaap_SalesChannelThroughIntermediaryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerSalesChannelAxis=us-gaap_SalesChannelThroughIntermediaryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193596458288">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Revenue from Contracts With Customers - Capitalized Cost to Obtain Contracts, Current and Noncurrent (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostNetCurrent', window );">Current</a></td>
<td class="nump">$ 5,858<span></span>
</td>
<td class="nump">$ 5,018<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostNetNoncurrent', window );">Noncurrent</a></td>
<td class="nump">$ 11,844<span></span>
</td>
<td class="nump">$ 10,090<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479483/340-40-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479483/340-40-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600110128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 04, 2022</div></th>
<th class="th"><div>Aug. 19, 2021</div></th>
<th class="th"><div>Aug. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Life (Years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years 7 months 6 days<span></span>
</td>
<td class="text">4 years 7 months 6 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinitelivedIntangibleAssetsAcquired1', window );">Intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireIntangibleAssets', window );">Payments to acquire intangibles</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.1<span></span>
</td>
<td class="nump">$ 0.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=qlys_AssembledWorkforceMember', window );">Assembled workforce</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Life (Years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years<span></span>
</td>
<td class="text">2 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetAcquisitionAxis=qlys_BlueHexagonIncMember', window );">Blue Hexagon Inc</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetAcquisitionConsiderationTransferred', window );">Consideration transferred</a></td>
<td class="nump">$ 10.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireProductiveAssets', window );">Payments for assets</a></td>
<td class="nump">8.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_AssetAcquisitionConsiderationTransferredPayable', window );">Consideration payable</a></td>
<td class="nump">$ 1.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_AssetAcquisitionConsiderationPayableTerm', window );">Consideration term payable</a></td>
<td class="text">18 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue', window );">Deferred revenue acquired</a></td>
<td class="nump">$ 1.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_AssetAcquisitionAcquisitionRelatedCosts', window );">Acquisition related costs</a></td>
<td class="nump">0.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetAcquisitionAxis=qlys_BlueHexagonIncMember', window );">Blue Hexagon Inc | Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles', window );">Finite-lived intangibles acquired</a></td>
<td class="nump">$ 11.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Life (Years)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetAcquisitionAxis=qlys_BlueHexagonIncMember', window );">Blue Hexagon Inc | Assembled workforce</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles', window );">Finite-lived intangibles acquired</a></td>
<td class="nump">$ 0.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Life (Years)</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_AssetAcquisitionAcquisitionRelatedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This element represents acquisition-related costs incurred to effect an acquisition related costs which costs have been expensed during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_AssetAcquisitionAcquisitionRelatedCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_AssetAcquisitionConsiderationPayableTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Asset Acquisition, Consideration Payable, Term</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_AssetAcquisitionConsiderationPayableTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_AssetAcquisitionConsiderationTransferredPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Consideration held in escrow for general presentation and warranties in an asset acquisition, recognized as part of consideration transferred in asset acquisition</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_AssetAcquisitionConsiderationTransferredPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred revenue expected to be recognized as such within one year or the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of identifiable intangible assets recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetAcquisitionConsiderationTransferred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred in asset acquisition. Includes, but is not limited to, cash, liability incurred by acquirer, and equity interest issued by acquirer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479908/805-50-55-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480060/805-50-25-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480027/805-50-30-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480027/805-50-30-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetAcquisitionConsiderationTransferred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinitelivedIntangibleAssetsAcquired1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinitelivedIntangibleAssetsAcquired1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireProductiveAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for purchases of and capital improvements on property, plant and equipment (capital expenditures), software, and other intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480060/805-50-25-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480027/805-50-30-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480027/805-50-30-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireProductiveAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=qlys_AssembledWorkforceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=qlys_AssembledWorkforceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetAcquisitionAxis=qlys_BlueHexagonIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetAcquisitionAxis=qlys_BlueHexagonIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193602781760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Intangible Assets, Net - Carrying Value of Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Aug. 19, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Cost</a></td>
<td class="nump">$ 41,887<span></span>
</td>
<td class="nump">$ 41,887<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(32,212)<span></span>
</td>
<td class="num">(29,126)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total expected future amortization expense</a></td>
<td class="nump">9,675<span></span>
</td>
<td class="nump">12,761<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Intangible assets not subject to amortization</a></td>
<td class="nump">40<span></span>
</td>
<td class="nump">40<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">$ 9,715<span></span>
</td>
<td class="nump">$ 12,801<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Life (Years)</a></td>
<td class="text">4 years 7 months 6 days<span></span>
</td>
<td class="text">4 years 7 months 6 days<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1', window );">Weighted Average Remaining Life (Years)</a></td>
<td class="text">1 year 1 month 6 days<span></span>
</td>
<td class="text">1 year 4 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Cost</a></td>
<td class="nump">$ 40,141<span></span>
</td>
<td class="nump">$ 40,141<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(30,667)<span></span>
</td>
<td class="num">(27,860)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total expected future amortization expense</a></td>
<td class="nump">$ 9,474<span></span>
</td>
<td class="nump">$ 12,281<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember', window );">Patent licenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Life (Years)</a></td>
<td class="text">14 years<span></span>
</td>
<td class="text">14 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1', window );">Weighted Average Remaining Life (Years)</a></td>
<td class="text">8 months 12 days<span></span>
</td>
<td class="text">1 year 8 months 12 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Cost</a></td>
<td class="nump">$ 1,387<span></span>
</td>
<td class="nump">$ 1,387<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(1,322)<span></span>
</td>
<td class="num">(1,221)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total expected future amortization expense</a></td>
<td class="nump">$ 65<span></span>
</td>
<td class="nump">$ 166<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=qlys_AssembledWorkforceMember', window );">Assembled workforce</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Life (Years)</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1', window );">Weighted Average Remaining Life (Years)</a></td>
<td class="text">9 months 18 days<span></span>
</td>
<td class="text">1 year 8 months 12 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Cost</a></td>
<td class="nump">$ 359<span></span>
</td>
<td class="nump">$ 359<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(223)<span></span>
</td>
<td class="num">(45)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total expected future amortization expense</a></td>
<td class="nump">$ 136<span></span>
</td>
<td class="nump">$ 314<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483147/928-340-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Remaining amortization period of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=qlys_AssembledWorkforceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=qlys_AssembledWorkforceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600986112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets, Net (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Intangible asset amortization</a></td>
<td class="nump">$ 3.1<span></span>
</td>
<td class="nump">$ 5.7<span></span>
</td>
<td class="nump">$ 6.7<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193608943424">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Intangible Assets, Net - Expected Amortization Expense in Future Periods (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 2,904<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2025</a></td>
<td class="nump">2,556<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2026</a></td>
<td class="nump">2,477<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2027</a></td>
<td class="nump">1,738<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total expected future amortization expense</a></td>
<td class="nump">$ 9,675<span></span>
</td>
<td class="nump">$ 12,761<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193608929072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Narrative (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Operating lease expense</a></td>
<td class="nump">$ 16.1<span></span>
</td>
<td class="nump">$ 14.9<span></span>
</td>
<td class="nump">$ 16.8<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating lease expense. Excludes sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193596250928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Supplemental Cash Flow Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Cash payments included in the measurement of lease liabilities</a></td>
<td class="nump">$ 14,984<span></span>
</td>
<td class="nump">$ 15,751<span></span>
</td>
<td class="nump">$ 14,646<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Lease liabilities arising from obtaining right-of-use assets</a></td>
<td class="nump">$ 121<span></span>
</td>
<td class="nump">$ 8,669<span></span>
</td>
<td class="nump">$ 4,110<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193595398800">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Weighted Average Remaining Lease Term and Weighted Average Discount Rate (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term (years)</a></td>
<td class="text">3 years 1 month 6 days<span></span>
</td>
<td class="text">3 years 8 months 12 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate</a></td>
<td class="nump">5.20%<span></span>
</td>
<td class="nump">5.20%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193608902576">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Minimum Annual Lease Payments (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 13,053<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2025</a></td>
<td class="nump">7,747<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2026</a></td>
<td class="nump">4,498<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2027</a></td>
<td class="nump">4,353<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2028</a></td>
<td class="nump">1,466<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total minimum lease payments</a></td>
<td class="nump">31,117<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: interest</a></td>
<td class="num">(2,375)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Present value of net minimum lease payments</a></td>
<td class="nump">28,742<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Less: lease liabilities, current</a></td>
<td class="num">(11,857)<span></span>
</td>
<td class="num">$ (13,060)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, noncurrent</a></td>
<td class="nump">$ 16,885<span></span>
</td>
<td class="nump">$ 29,121<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193596898544">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Commitment and Contingencies - Remaining Purchase Commitments (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 20,743<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInSecondYear', window );">2025</a></td>
<td class="nump">18,768<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInThirdYear', window );">2026</a></td>
<td class="nump">12,365<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInFourthYear', window );">2027</a></td>
<td class="nump">9,784<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligation', window );">Total purchase commitments</a></td>
<td class="nump">$ 61,660<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligationDueInFourthYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of purchase arrangement to be paid in fourth fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueInFourthYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligationDueInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of purchase arrangement to be paid in next fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligationDueInSecondYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of purchase arrangement to be paid in second fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueInSecondYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligationDueInThirdYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of purchase arrangement to be paid in third fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueInThirdYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193599592352">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Stockholders' Equity and Stock-based Compensation - Preferred Stock (Details) - $ / shares<br> shares in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Oct. 03, 2012</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, authorized (in shares)</a></td>
<td class="nump">20,000<span></span>
</td>
<td class="nump">20,000<span></span>
</td>
<td class="nump">20,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value (in USD per share)</a></td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, issued (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, outstanding (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193595941904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity and Stock-based Compensation - Equity Incentive Plan (Details) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 08, 2022</div></th>
<th class="th"><div>Jun. 09, 2021</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod', window );">Offering period, months</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 months<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Issuance of common stock through employee stock purchase plan (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">60<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=qlys_The2012EquityIncentivePlanMember', window );">The 2012 Equity Incentive Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares', window );">Authorized annual increase (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,050<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding', window );">Authorized annual increase, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease', window );">Shares added to plan (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized', window );">Additional shares available for grant (in shares)</a></td>
<td class="nump">3,072<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Shares available for grant (in shares)</a></td>
<td class="nump">9,689<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,824<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period, term years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Expiration period, term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=qlys_The2021EmployeeStockPurchasePlanMember', window );">The 2021 Employee Stock Purchase Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Shares available for grant (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">494<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Shares authorized for issuance (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod', window );">Offering period, months</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent', window );">Purchase price per stock, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=qlys_The2021EmployeeStockPurchasePlanMember', window );">The 2021 Employee Stock Purchase Plan | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable', window );">Eligible compensation contributable, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=qlys_The2021EmployeeStockPurchasePlanMember', window );">The 2021 Employee Stock Purchase Plan | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable', window );">Eligible compensation contributable, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of employee's eligible compensation that can be used to contribute, through payroll withholding, to an employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents percentage of shares outstanding for member of shares authorized for shared-based compensation arrangement by share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents number of shares authorized for share-based compensation arrangement by share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the offering period under a share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of additional shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Other than shares newly issued, the number of additional shares issued (for example, a stock split) or canceled (for example, to correct a share issuance), during the period under the plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Purchase price of common stock expressed as a percentage of its fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of an employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=qlys_The2012EquityIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=qlys_The2012EquityIncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=qlys_The2021EmployeeStockPurchasePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=qlys_The2021EmployeeStockPurchasePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193594906992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity and Stock-based Compensation - Summary of Stock-based Compensation Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense, net of amounts capitalized</a></td>
<td class="nump">$ 69,079<span></span>
</td>
<td class="nump">$ 53,408<span></span>
</td>
<td class="nump">$ 67,579<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of revenues</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense, net of amounts capitalized</a></td>
<td class="nump">7,300<span></span>
</td>
<td class="nump">5,305<span></span>
</td>
<td class="nump">3,782<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense, net of amounts capitalized</a></td>
<td class="nump">21,091<span></span>
</td>
<td class="nump">14,585<span></span>
</td>
<td class="nump">10,750<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember', window );">Sales and marketing</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense, net of amounts capitalized</a></td>
<td class="nump">12,234<span></span>
</td>
<td class="nump">9,837<span></span>
</td>
<td class="nump">6,323<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember', window );">General and administrative</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense, net of amounts capitalized</a></td>
<td class="nump">$ 28,454<span></span>
</td>
<td class="nump">$ 23,681<span></span>
</td>
<td class="nump">$ 46,724<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193594988016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity and Stock-based Compensation - Stock-based Compensation (Details) - USD ($)<br> shares in Thousands, $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">1 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 21, 2018</div></th>
<th class="th"><div>Feb. 28, 2021</div></th>
<th class="th"><div>Feb. 29, 2020</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense', window );">Income tax benefit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11.0<span></span>
</td>
<td class="nump">$ 8.3<span></span>
</td>
<td class="nump">$ 6.2<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 23.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Recognition period, years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 7 months 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted stock units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 94.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Recognition period, years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 9 months 18 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22<span></span>
</td>
<td class="nump">15<span></span>
</td>
<td class="nump">414<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod', window );">Performance period</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember', window );">Performance-based Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Recognition period, years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">7 months 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=qlys_ESPPSharesMember', window );">ESPP Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Recognition period, years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 month 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share-Based Compensation Arrangement by Share-Based Payment Award, Award Performance Period</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of tax benefit for recognition of expense of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=qlys_ESPPSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=qlys_ESPPSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193591001120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity and Stock-based Compensation - Performance-Based Stock Options and Restricted Stock Units (Details)<br> shares in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">1 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Oct. 26, 2023 </div>
<div>shares</div>
</th>
<th class="th">
<div>Jul. 27, 2023 </div>
<div>shares</div>
</th>
<th class="th">
<div>Feb. 06, 2023 </div>
<div>shares</div>
</th>
<th class="th">
<div>Oct. 27, 2022 </div>
<div>shares</div>
</th>
<th class="th">
<div>Oct. 28, 2021 </div>
<div>shares</div>
</th>
<th class="th">
<div>Apr. 27, 2021 </div>
<div>shares</div>
</th>
<th class="th">
<div>Mar. 19, 2021 </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 10, 2020 </div>
<div>shares</div>
</th>
<th class="th">
<div>Nov. 02, 2019 </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 21, 2018 </div>
<div>shares</div>
</th>
<th class="th">
<div>Feb. 28, 2021 </div>
<div>shares</div>
</th>
<th class="th">
<div>Feb. 29, 2020 </div>
<div>shares</div>
</th>
<th class="th"><div>Jul. 27, 2023</div></th>
<th class="th">
<div>Sep. 30, 2023 </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost', window );">Additional stock-based compensation cost | $</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 27,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation | $</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 69,079,000<span></span>
</td>
<td class="nump">$ 53,408,000<span></span>
</td>
<td class="nump">67,579,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted stock units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22<span></span>
</td>
<td class="nump">15<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">414<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Shares authorized for issuance (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period, term years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares', window );">Target PSUs scheduled to vest (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationTerminationPeriodTrigger', window );">Termination period, trigger month</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">12 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger', window );">Unvested awards to vest, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget', window );">Target number of awards, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200.00%<span></span>
</td>
<td class="nump">135.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber', window );">Accelerated vesting (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">44<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">488<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation | $</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,400,000<span></span>
</td>
<td class="nump">3,900,000<span></span>
</td>
<td class="nump">5,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Award vesting rights, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33.33%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted stock units | Minimum | President and Chief Executive Officer</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage', window );">Vest ranging target percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted stock units | Maximum | President and Chief Executive Officer</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage', window );">Vest ranging target percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted stock units | Time based Shared Based Compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">56<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods', window );">Number of quarterly periods to vest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16<span></span>
</td>
<td class="nump">16<span></span>
</td>
<td class="nump">16<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Shares authorized for issuance (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">69<span></span>
</td>
<td class="nump">49<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber', window );">Accelerated vesting (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">127<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted stock units | Performance Shares, Tranche Three | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage', window );">Vest ranging target percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted stock units | Performance Shares, Tranche Three | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage', window );">Vest ranging target percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Shares authorized for issuance (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">224<span></span>
</td>
<td class="nump">124<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period, term years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber', window );">Accelerated vesting (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">348<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation | $</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 13,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock options | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage', window );">Vest ranging target percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock options | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage', window );">Vest ranging target percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200.00%<span></span>
</td>
<td class="nump">200.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember', window );">Performance-based Restricted Stock Units | President and Chief Executive Officer</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period, term years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationTerminationPeriodTrigger', window );">Termination period, trigger month</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">12 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger', window );">Unvested awards to vest, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember', window );">Performance-based Restricted Stock Units | Executive Officer</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period, term years</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger', window );">Unvested awards to vest, percentage</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">81<span></span>
</td>
<td class="nump">9<span></span>
</td>
<td class="nump">6<span></span>
</td>
<td class="nump">86<span></span>
</td>
<td class="nump">73<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember', window );">Performance-based Restricted Stock Units | Minimum | President and Chief Executive Officer</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage', window );">Vest ranging target percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember', window );">Performance-based Restricted Stock Units | Minimum | Executive Officer</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage', window );">Vest ranging target percentage</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember', window );">Performance-based Restricted Stock Units | Maximum | President and Chief Executive Officer</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage', window );">Vest ranging target percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember', window );">Performance-based Restricted Stock Units | Maximum | Executive Officer</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage', window );">Vest ranging target percentage</a></td>
<td class="nump">200.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents number of quarterly periods for vesting periods for share based compensation arrangement by share based payment award.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents target number of shares of share-based compensation by share-based payment award for equity instruments other than options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents equity instruments other than options vested in period as a percentage of target for share-based compensation arrangement by share-based payment award.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The target percentage for vesting of equity-based award under share based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents percentage of shares that will vest upon trigger for share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_SharebasedCompensationTerminationPeriodTrigger">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents termination period trigger for share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_SharebasedCompensationTerminationPeriodTrigger</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of additional cost recognized for award under share-based payment arrangement from occurrence of event accelerating recognition of cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares for which recognition of cost was accelerated for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of vesting of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=qlys_PresidentAndChiefExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=qlys_PresidentAndChiefExecutiveOfficerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=qlys_TimeBasedSharedBasedCompensationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=qlys_TimeBasedSharedBasedCompensationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=qlys_PerformanceSharesTrancheThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=qlys_PerformanceSharesTrancheThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193596115664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity and Stock-based Compensation - Fair Value Assumptions, Stock Options (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value (in USD per share)</a></td>
<td class="nump">$ 49.08<span></span>
</td>
<td class="nump">$ 50.32<span></span>
</td>
<td class="nump">$ 41.23<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Dividend yield</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (in years)</a></td>
<td class="text">3 years 9 months 18 days<span></span>
</td>
<td class="text">4 years 3 months 18 days<span></span>
</td>
<td class="text">5 years 2 months 12 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Volatility</a></td>
<td class="nump">42.00%<span></span>
</td>
<td class="nump">40.00%<span></span>
</td>
<td class="nump">38.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free interest rate</a></td>
<td class="nump">3.70%<span></span>
</td>
<td class="nump">1.70%<span></span>
</td>
<td class="nump">0.50%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (in years)</a></td>
<td class="text">3 years 10 months 24 days<span></span>
</td>
<td class="text">4 years 4 months 24 days<span></span>
</td>
<td class="text">5 years 6 months<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Volatility</a></td>
<td class="nump">43.00%<span></span>
</td>
<td class="nump">43.00%<span></span>
</td>
<td class="nump">41.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free interest rate</a></td>
<td class="nump">4.90%<span></span>
</td>
<td class="nump">4.20%<span></span>
</td>
<td class="nump">1.20%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193596259264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity and Stock-based Compensation - Share-based Compensation and Stock Options Activity (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Outstanding Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Beginning balance (in shares)</a></td>
<td class="nump">1,807<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Granted (in shares)</a></td>
<td class="nump">345<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised (in shares)</a></td>
<td class="num">(582)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Canceled (in shares)</a></td>
<td class="num">(123)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Ending balance (in shares)</a></td>
<td class="nump">1,447<span></span>
</td>
<td class="nump">1,807<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Weighted Average Exercise Price</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Beginning balance (in USD per share)</a></td>
<td class="nump">$ 87.59<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted (in USD per share)</a></td>
<td class="nump">129.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised (in USD per share)</a></td>
<td class="nump">78.32<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Canceled (in USD per share)</a></td>
<td class="nump">125.39<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Ending balance (in USD per share)</a></td>
<td class="nump">$ 97.98<span></span>
</td>
<td class="nump">$ 87.59<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract', window );"><strong>Stock Options Additional Disclosures</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Vested and expected to vest (in shares)</a></td>
<td class="nump">1,271<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Vested and expected to vest (in USD per share)</a></td>
<td class="nump">$ 93.44<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted average remaining contractual life, balance (in years)</a></td>
<td class="text">6 years 6 months<span></span>
</td>
<td class="text">6 years 6 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Weighted average remaining contractual life, vested and expected to vest (in years)</a></td>
<td class="text">6 years 2 months 12 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate Intrinsic Value</a></td>
<td class="nump">$ 142,302<span></span>
</td>
<td class="nump">$ 58,024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Vested and expected to vest as of December 31, 2023</a></td>
<td class="nump">$ 130,691<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber', window );">Outstanding options, exercisable (in shares)</a></td>
<td class="nump">739<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice', window );">Weighted average exercise price, exercisable (in USD per share)</a></td>
<td class="nump">$ 68.68<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted average remaining contractual life, exercisable (in years)</a></td>
<td class="text">4 years 6 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue', window );">Exercisable as of December 31, 2023</a></td>
<td class="nump">$ 94,272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Intrinsic value of options exercised</a></td>
<td class="nump">$ 41,700<span></span>
</td>
<td class="nump">$ 39,800<span></span>
</td>
<td class="nump">$ 42,500<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (e)(1)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest exercisable or convertible options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193595144672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity and Stock-based Compensation - Summary of Restricted Stock Unit Activity (Details) - $ / shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">1 Months Ended</th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 26, 2023</div></th>
<th class="th"><div>Jul. 27, 2023</div></th>
<th class="th"><div>Feb. 06, 2023</div></th>
<th class="th"><div>Oct. 27, 2022</div></th>
<th class="th"><div>Oct. 28, 2021</div></th>
<th class="th"><div>Feb. 28, 2021</div></th>
<th class="th"><div>Feb. 29, 2020</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted stock units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Outstanding RSUs</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Beginning balance (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,183<span></span>
</td>
<td class="nump">1,183<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">488<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(22)<span></span>
</td>
<td class="num">(15)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(414)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(183)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Ending balance (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,074<span></span>
</td>
<td class="nump">1,183<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber', window );">Outstanding and expected to vest (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">863<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant Date Fair Value Per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Beginning balance (in USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 124.42<span></span>
</td>
<td class="nump">$ 124.42<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">140.08<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">116.92<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited (in USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">128.46<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Ending balance (in USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">133.60<span></span>
</td>
<td class="nump">$ 124.42<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Outstanding and expected to vest (in USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 132.53<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember', window );">Performance-based Restricted Stock Units | Executive Officer 1</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Outstanding RSUs</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">175<span></span>
</td>
<td class="nump">175<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember', window );">Performance-based Restricted Stock Units | Executive Officer</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Outstanding RSUs</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">81<span></span>
</td>
<td class="nump">9<span></span>
</td>
<td class="nump">6<span></span>
</td>
<td class="nump">86<span></span>
</td>
<td class="nump">73<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember', window );">Performance-based Restricted Stock Units | Executive Officer 2</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Outstanding RSUs</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">24<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember', window );">Performance-based Restricted Stock Units | Executive Officer 3</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Outstanding RSUs</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22<span></span>
</td>
<td class="nump">22<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember', window );">Performance-based Restricted Stock Units | Executive Officer 4</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Outstanding RSUs</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">139<span></span>
</td>
<td class="nump">139<span></span>
</td>
<td class="nump">139<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents vested and expected to vest outstanding number</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents weighted average exercise for share-based compensation arrangement by share-based payment award for equity instruments other than options, expected to vest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=qlys_PerformanceBasedRestrictedStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=qlys_ExecutiveOfficer1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=qlys_ExecutiveOfficer1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=qlys_ExecutiveOfficer2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=qlys_ExecutiveOfficer2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=qlys_ExecutiveOfficer3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=qlys_ExecutiveOfficer3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=qlys_ExecutiveOfficer4Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=qlys_ExecutiveOfficer4Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193696166784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity and Stock-based Compensation - Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod', window );">Offering period, months</a></td>
<td class="text">6 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions', window );">Share-Based Payment Arrangement, Exercise of Option, Tax Benefit</a></td>
<td class="nump">$ 5,900<span></span>
</td>
<td class="nump">$ 7,000<span></span>
</td>
<td class="nump">$ 4,900<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted stock units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue', window );">Aggregate fair value vested</a></td>
<td class="nump">$ 55,700<span></span>
</td>
<td class="nump">$ 43,900<span></span>
</td>
<td class="nump">$ 59,500<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the offering period under a share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of tax benefit from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600145312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity and Stock-based Compensation - Employee Stock Purchase Plan, Valuation Assumptions (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value (in USD per share)</a></td>
<td class="nump">$ 49.08<span></span>
</td>
<td class="nump">$ 50.32<span></span>
</td>
<td class="nump">$ 41.23<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Dividend yield</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=qlys_The2021EmployeeStockPurchasePlanMember', window );">The 2021 Employee Stock Purchase Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value (in USD per share)</a></td>
<td class="nump">$ 34.50<span></span>
</td>
<td class="nump">$ 39.14<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (in years)</a></td>
<td class="text">6 months<span></span>
</td>
<td class="text">6 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum', window );">Volatility, minimum</a></td>
<td class="nump">30.00%<span></span>
</td>
<td class="nump">41.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum', window );">Volatility, maximum</a></td>
<td class="nump">43.80%<span></span>
</td>
<td class="nump">50.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum', window );">Risk-free interest rate, minimum</a></td>
<td class="nump">5.00%<span></span>
</td>
<td class="nump">0.70%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum', window );">Risk-free interest rate, maximum</a></td>
<td class="nump">5.50%<span></span>
</td>
<td class="nump">3.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Dividend yield</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the maximum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the minimum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The minimum risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=qlys_The2021EmployeeStockPurchasePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=qlys_The2021EmployeeStockPurchasePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193604791472">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Stockholders' Equity and Stock-based Compensation - Schedule of Repurchase Agreements (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Feb. 09, 2023</div></th>
<th class="th"><div>May 04, 2022</div></th>
<th class="th"><div>Nov. 03, 2021</div></th>
<th class="th"><div>Feb. 10, 2021</div></th>
<th class="th"><div>May 07, 2020</div></th>
<th class="th"><div>Oct. 30, 2019</div></th>
<th class="th"><div>Oct. 30, 2018</div></th>
<th class="th"><div>Feb. 12, 2018</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_StockRepurchaseProgramRollForward', window );"><strong>Authorized Dollar Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Stock repurchase program, authorized amount</a></td>
<td class="nump">$ 1,000.0<span></span>
</td>
<td class="nump">$ 100.0<span></span>
</td>
<td class="nump">$ 200.0<span></span>
</td>
<td class="nump">$ 200.0<span></span>
</td>
<td class="nump">$ 100.0<span></span>
</td>
<td class="nump">$ 100.0<span></span>
</td>
<td class="nump">$ 100.0<span></span>
</td>
<td class="nump">$ 100.0<span></span>
</td>
<td class="nump">$ 100.0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_StockRepurchaseProgramRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock Repurchase Program</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_StockRepurchaseProgramRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193590882048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity and Stock-based Compensation - Share Repurchase Program (Details) - USD ($)<br> shares in Millions, $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Feb. 07, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Feb. 09, 2023</div></th>
<th class="th"><div>May 04, 2022</div></th>
<th class="th"><div>Nov. 03, 2021</div></th>
<th class="th"><div>Feb. 10, 2021</div></th>
<th class="th"><div>May 07, 2020</div></th>
<th class="th"><div>Oct. 30, 2019</div></th>
<th class="th"><div>Oct. 30, 2018</div></th>
<th class="th"><div>Feb. 12, 2018</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Stock repurchase program, authorized amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100.0<span></span>
</td>
<td class="nump">$ 200.0<span></span>
</td>
<td class="nump">$ 200.0<span></span>
</td>
<td class="nump">$ 100.0<span></span>
</td>
<td class="nump">$ 100.0<span></span>
</td>
<td class="nump">$ 100.0<span></span>
</td>
<td class="nump">$ 100.0<span></span>
</td>
<td class="nump">$ 100.0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares', window );">Stock repurchased and retired in period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.3<span></span>
</td>
<td class="nump">2.5<span></span>
</td>
<td class="nump">1.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue', window );">Stock repurchased and retired in period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 170.8<span></span>
</td>
<td class="nump">$ 317.3<span></span>
</td>
<td class="nump">$ 130.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1', window );">Stock repurchase program, remaining authorized repurchase amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 83.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent Event</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_StockRepurchaseProgramAdditionalAuthorizedAmount', window );">Additional authorized amount</a></td>
<td class="nump">$ 200.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Stock repurchase program, authorized amount</a></td>
<td class="nump">$ 1,200.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_StockRepurchaseProgramAdditionalAuthorizedAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of additional stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_StockRepurchaseProgramAdditionalAuthorizedAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount remaining of a stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased and retired during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedAndRetiredDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedAndRetiredDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600983344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Employee Benefit Plan (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Retirement Benefits [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanCostRecognized', window );">401(k) plan contribution</a></td>
<td class="nump">$ 4.1<span></span>
</td>
<td class="nump">$ 3.5<span></span>
</td>
<td class="nump">$ 2.4<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount', window );">Contribution amount</a></td>
<td class="nump">$ 2.3<span></span>
</td>
<td class="nump">$ 2.0<span></span>
</td>
<td class="nump">$ 1.7<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanCostRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost for defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480794/715-70-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanCostRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of discretionary contributions made by an employer to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193597063360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Schedule of Income before Income Tax, Domestic and Foreign (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">Domestic</a></td>
<td class="nump">$ 164,958<span></span>
</td>
<td class="nump">$ 122,013<span></span>
</td>
<td class="nump">$ 80,472<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign', window );">Foreign</a></td>
<td class="nump">13,693<span></span>
</td>
<td class="nump">11,687<span></span>
</td>
<td class="nump">8,925<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">$ 178,651<span></span>
</td>
<td class="nump">$ 133,700<span></span>
</td>
<td class="nump">$ 89,397<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193608619440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Schedule of Components of Income Tax Expense (Benefit) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentFederalTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">$ 32,405<span></span>
</td>
<td class="nump">$ 35,286<span></span>
</td>
<td class="nump">$ 20,135<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">State</a></td>
<td class="nump">6,061<span></span>
</td>
<td class="nump">6,269<span></span>
</td>
<td class="nump">4,324<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentForeignTaxExpenseBenefit', window );">Foreign</a></td>
<td class="nump">5,218<span></span>
</td>
<td class="nump">4,606<span></span>
</td>
<td class="nump">3,701<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current income tax provision</a></td>
<td class="nump">43,684<span></span>
</td>
<td class="nump">46,161<span></span>
</td>
<td class="nump">28,160<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="num">(13,584)<span></span>
</td>
<td class="num">(17,097)<span></span>
</td>
<td class="num">(7,342)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State</a></td>
<td class="num">(2,009)<span></span>
</td>
<td class="num">(3,055)<span></span>
</td>
<td class="num">(1,722)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredForeignIncomeTaxExpenseBenefit', window );">Foreign</a></td>
<td class="num">(1,035)<span></span>
</td>
<td class="num">(301)<span></span>
</td>
<td class="num">(659)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income tax benefit</a></td>
<td class="num">(16,628)<span></span>
</td>
<td class="num">(20,453)<span></span>
</td>
<td class="num">(9,723)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax provision</a></td>
<td class="nump">$ 27,056<span></span>
</td>
<td class="nump">$ 25,708<span></span>
</td>
<td class="nump">$ 18,437<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentForeignTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentForeignTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredForeignIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredForeignIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193602603408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Schedule of Effective Income Tax Rate Reconciliation (Details)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Federal statutory rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State taxes</a></td>
<td class="nump">2.60%<span></span>
</td>
<td class="nump">2.30%<span></span>
</td>
<td class="nump">3.10%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost', window );">Stock-based compensation</a></td>
<td class="nump">2.70%<span></span>
</td>
<td class="nump">3.40%<span></span>
</td>
<td class="nump">10.30%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent', window );">Excess tax benefits related to stock-based compensation</a></td>
<td class="num">(2.90%)<span></span>
</td>
<td class="num">(5.20%)<span></span>
</td>
<td class="num">(5.40%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Foreign source income</a></td>
<td class="nump">0.30%<span></span>
</td>
<td class="nump">3.80%<span></span>
</td>
<td class="nump">0.40%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="nump">0.10%<span></span>
</td>
<td class="nump">0.30%<span></span>
</td>
<td class="nump">0.20%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent', window );">Foreign-derived intangible income deduction</a></td>
<td class="num">(4.40%)<span></span>
</td>
<td class="num">(4.90%)<span></span>
</td>
<td class="num">(7.00%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch', window );">Federal and state research and development credit</a></td>
<td class="num">(1.40%)<span></span>
</td>
<td class="num">(1.30%)<span></span>
</td>
<td class="num">(1.90%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Accrual to return adjustments and Other</a></td>
<td class="num">(2.90%)<span></span>
</td>
<td class="num">(0.20%)<span></span>
</td>
<td class="num">(0.10%)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Income tax provision</a></td>
<td class="nump">15.10%<span></span>
</td>
<td class="nump">19.20%<span></span>
</td>
<td class="nump">20.60%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of reported income tax benefit from difference to income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to foreign-derived intangible income (FDII).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -SubTopic 740<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480887/718-740-35-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>95
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193596341840">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income Taxes - Schedule of Deferred Tax Assets and Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNetAbstract', window );"><strong>Deferred tax assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch', window );">Research and development credit carryforwards</a></td>
<td class="nump">$ 11,502<span></span>
</td>
<td class="nump">$ 10,957<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment', window );">Fixed assets</a></td>
<td class="nump">581<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="nump">3,020<span></span>
</td>
<td class="nump">3,677<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsDeferredIncome', window );">Deferred revenues</a></td>
<td class="nump">3,381<span></span>
</td>
<td class="nump">5,766<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_DeferredTaxAssetsOperatingLeaseLiabilities', window );">Operating lease liabilities</a></td>
<td class="nump">7,722<span></span>
</td>
<td class="nump">10,667<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets', window );">Intangible assets</a></td>
<td class="nump">3,549<span></span>
</td>
<td class="nump">3,465<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Stock-based compensation</a></td>
<td class="nump">4,263<span></span>
</td>
<td class="nump">4,691<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment', window );">Capitalized research and development</a></td>
<td class="nump">47,793<span></span>
</td>
<td class="nump">30,234<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOther', window );">Other</a></td>
<td class="nump">2,999<span></span>
</td>
<td class="nump">2,195<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Gross deferred tax assets</a></td>
<td class="nump">84,810<span></span>
</td>
<td class="nump">71,652<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="num">(12,375)<span></span>
</td>
<td class="num">(12,476)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Total deferred tax assets</a></td>
<td class="nump">72,435<span></span>
</td>
<td class="nump">59,176<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesAbstract', window );"><strong>Deferred tax liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Fixed assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,745)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_DeferredLiabilitiesRightofuseAssets', window );">Operating leases - right of use asset</a></td>
<td class="num">(5,999)<span></span>
</td>
<td class="num">(8,359)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_DeferredTaxLiabilitiesDeferredCommission', window );">Deferred commissions</a></td>
<td class="num">(3,675)<span></span>
</td>
<td class="num">(3,660)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred tax liabilities</a></td>
<td class="num">(9,674)<span></span>
</td>
<td class="num">(13,764)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsLiabilitiesNet', window );">Net deferred tax assets</a></td>
<td class="nump">$ 62,761<span></span>
</td>
<td class="nump">$ 45,412<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_DeferredLiabilitiesRightofuseAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the deferred liabilities right-of-use-assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_DeferredLiabilitiesRightofuseAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_DeferredTaxAssetsOperatingLeaseLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from operating lease liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_DeferredTaxAssetsOperatingLeaseLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_DeferredTaxLiabilitiesDeferredCommission">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the deferred tax liabilities deferred commission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_DeferredTaxLiabilitiesDeferredCommission</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsDeferredIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsDeferredIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from intangible assets including goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>96
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193596607920">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income Taxes - Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income Tax Contingency [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="nump">$ 12,375<span></span>
</td>
<td class="nump">$ 12,476<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">State research and development credit carryforwards</a></td>
<td class="nump">17,000<span></span>
</td>
<td class="nump">16,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate', window );">Unrecognized tax benefits</a></td>
<td class="nump">6,100<span></span>
</td>
<td class="nump">5,300<span></span>
</td>
<td class="nump">$ 4,900<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember', window );">Foreign Tax Authority</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income Tax Contingency [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardAmount', window );">Tax credit carryforward</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxContingencyLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxContingencyLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxCreditCarryforwardAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxCreditCarryforwardAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193610035440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Schedule of Unrecognized Tax Benefits Roll Forward (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward', window );"><strong>Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Unrecognized tax benefits beginning balance</a></td>
<td class="nump">$ 10,542<span></span>
</td>
<td class="nump">$ 9,676<span></span>
</td>
<td class="nump">$ 8,855<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions', window );">Gross increase for tax positions of prior years</a></td>
<td class="nump">262<span></span>
</td>
<td class="nump">89<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions', window );">Gross decrease for tax positions of prior years</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(25)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions', window );">Gross increase for tax positions of current year</a></td>
<td class="nump">1,127<span></span>
</td>
<td class="nump">777<span></span>
</td>
<td class="nump">846<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations', window );">Lapse of statute of limitations</a></td>
<td class="num">(33)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Total unrecognized tax benefits</a></td>
<td class="nump">$ 11,898<span></span>
</td>
<td class="nump">$ 10,542<span></span>
</td>
<td class="nump">$ 9,676<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-10B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from lapses of applicable statutes of limitations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193600966336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Geographic Area Information - Narrative (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>segment</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfOperatingSegments', window );">Number of operating segments</a></td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of reportable segments</a></td>
<td class="nump">1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>99
<FILENAME>R82.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193602596672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Geographic Area Information - Revenue and Property and Equipment, Net by Geographic Area (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenues</a></td>
<td class="nump">$ 554,458<span></span>
</td>
<td class="nump">$ 489,723<span></span>
</td>
<td class="nump">$ 411,172<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets', window );">Total Long-lived Assets</a></td>
<td class="nump">54,990<span></span>
</td>
<td class="nump">81,180<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenues</a></td>
<td class="nump">332,315<span></span>
</td>
<td class="nump">292,291<span></span>
</td>
<td class="nump">252,428<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets', window );">Total Long-lived Assets</a></td>
<td class="nump">42,622<span></span>
</td>
<td class="nump">58,775<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=us-gaap_NonUsMember', window );">Foreign</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenues</a></td>
<td class="nump">222,143<span></span>
</td>
<td class="nump">197,432<span></span>
</td>
<td class="nump">$ 158,744<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_IN', window );">India</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets', window );">Total Long-lived Assets</a></td>
<td class="nump">9,952<span></span>
</td>
<td class="nump">16,057<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=qlys_OtherGeographicAreasMember', window );">Rest of world</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets', window );">Total Long-lived Assets</a></td>
<td class="nump">$ 2,416<span></span>
</td>
<td class="nump">$ 6,348<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale and right-of-use assets under operating leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>qlys_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=us-gaap_NonUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=us-gaap_NonUsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_IN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_IN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=qlys_OtherGeographicAreasMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=qlys_OtherGeographicAreasMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<FILENAME>R83.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193601018480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income Per Share - Basic and Diluted Net Income Per Share (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract', window );"><strong>Numerator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 151,595<span></span>
</td>
<td class="nump">$ 107,992<span></span>
</td>
<td class="nump">$ 70,960<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract', window );"><strong>Denominator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic weighted average shares (in shares)</a></td>
<td class="nump">36,879<span></span>
</td>
<td class="nump">38,453<span></span>
</td>
<td class="nump">39,030<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DilutiveSecuritiesAbstract', window );"><strong>Effect of potentially dilutive shares:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Stock options (in shares)</a></td>
<td class="nump">482<span></span>
</td>
<td class="nump">672<span></span>
</td>
<td class="nump">863<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants', window );">Restricted stock units (in shares)</a></td>
<td class="nump">237<span></span>
</td>
<td class="nump">216<span></span>
</td>
<td class="nump">224<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements', window );">Employee stock purchase plan (in shares)</a></td>
<td class="nump">4<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted weighted average shares (in shares)</a></td>
<td class="nump">37,602<span></span>
</td>
<td class="nump">39,344<span></span>
</td>
<td class="nump">40,118<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareReconciliationAbstract', window );"><strong>Net income per share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in USD per share)</a></td>
<td class="nump">$ 4.11<span></span>
</td>
<td class="nump">$ 2.81<span></span>
</td>
<td class="nump">$ 1.82<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in USD per share)</a></td>
<td class="nump">$ 4.03<span></span>
</td>
<td class="nump">$ 2.74<span></span>
</td>
<td class="nump">$ 1.77<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DilutiveSecuritiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DilutiveSecuritiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareReconciliationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of call options and warrants using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-23<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 26<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-26<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of equity unit purchase agreements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-23<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480454/718-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-22<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-23<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-28A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>101
<FILENAME>R84.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140193596692608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income Per Share - Anti-dilutive Net Income Per Share (Details) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Total anti-dilutive shares (in shares)</a></td>
<td class="nump">910<span></span>
</td>
<td class="nump">781<span></span>
</td>
<td class="nump">595<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember', window );">Stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Total anti-dilutive shares (in shares)</a></td>
<td class="nump">763<span></span>
</td>
<td class="nump">686<span></span>
</td>
<td class="nump">534<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted stock units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Total anti-dilutive shares (in shares)</a></td>
<td class="nump">140<span></span>
</td>
<td class="nump">90<span></span>
</td>
<td class="nump">61<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=qlys_EmployeeStockPurchasePlanSharesMember', window );">Employee stock purchase plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Total anti-dilutive shares (in shares)</a></td>
<td class="nump">7<span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=qlys_EmployeeStockPurchasePlanSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=qlys_EmployeeStockPurchasePlanSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>103
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
MS"&OUO<@^3"C+$:RO@GM-B23"^2;.1)<H47J;] V:QXOFK<+84I:$K2"1#.
M+4@DY"7MES1"Z%G0J<J%#=GW0I[5><ICH4FV8Z$ OZIAK/(*D5=9(4)D#2":
M$)_(A<RBBD_YLEE_ UH/QW-X*K?T5&XC3^4!;@8P9L#A!?U*U$\ O91E6;9M
M#:][R@(C?7!K:N?P5&[IJ=R&E5G'5493V*DT!B?$ZDJR]&&MB9W#1;FEBW+U
M[N<ML7U)6STSO=STFY*842=E2JU*K'12KM[XC %7D".K\0 G!.HS,J/.R91:
MCJE[5" N/616:,^1+XM>\EKQ8F]1S#_.2MB[Y>'Y?P)\PM*"<A21%81:5T.8
M,UA>7)]O"+K-RLV75 @:9U\W!,/#3AX OZ\H%8<->8+B7QQ&_P!02P,$%
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
M9,J /V2>?^YJN14J?R.=+CTJO9;U/E]0<2ZP7$#)LJ=9Q R$.84-<4:",)S
M!C+P#YD'H+ZGMN)ULIM<8($?=WO)-:/$UIMBSMC4_#K@#YGG'Y!1[^1HS!YT
MT@'8'1B@4A&BL0O2+6($!=81ZEHEC$XI'?"(S/-17X9K^23+W80,EV%X%%&;
MA1 S*+]Q8BM!O(5!,C&LZ !%=!Z*OI^Z5,,D4A=J*.>A;R]9$3N2Q'' +9&8
M/]\/23BA<B E2MZSC:'*)]F<LA2ELP#VWNGEK-[2<WD;AW3 ,3J/8W>[.EL+
M4XB!OT[&:8HP%O/#V*$LS)!$4)3MJHQZ#&,>3. U'6"+SL/6O2CV%6PC]%[3
M^\2ZT$0YY<S1ZMHQ'L7,KF:87<@2/E4$!@JC\_M2H[X\?:&W]SH*/?20S9B8
M&0E8:#,F9@?EA/()>0,)T7D2@H5Y)F7>=(/__UO44A=K[$I^W"1%3*9JVP!&
M] @8'7:>*C4 M3*Y.4U%U 491PO".G%H3UXI9D8HFQIZ Q'1>2+ZU@VXUVY'
M2,LC#$N/[P@=-TD1D\D](3I0$9VGHGZ"_;!KVH7;Q]%4BTU%J$279"XB!DLZ
M6Z=K1Z 6AD[91/S1))BB0#JP$4W>,]6N5"G*[)2I=A:YWCW5GM-;>BYOXR.8
M@='8/*/]D-O]&#?C 1;^FZKT&K/Y@QZ]N! %,Z<?^_:0P P9B1BWL0SU2),D
MFMCX90.7L?D=K'%EEB^RSE2GLI4'(&JV>- !P=QM)AX$D3T>$#.84V)[OP;S
MEB3)Q-3#!DIB1RA)O':G)69+N-VM@5)6M*>;^W.29BUJ Q):%^U9IQ%O9B(S
M*3V+&C_49 CT4,JXHQZEJ) $MGS,7Q23B>K'#HX/YQEJW,&J:790#9PT]O2Z
MKG:/:T]NMD7U*N7^XS[MMX4HT3BX1!3ZD;V\1ZPXYTX,7*N)>8P-8,6.@%6M
MH/AM 3:V;XFP*W-8#7=E47J%;$?U0Z$>Q72JNV#DC.6C)BEB<I%,*1S8BLVS
M53^][6<WM."CHK#])$YX8F^N8X:P9/"9S8^H1Q]6#/&$R &QV#QB[<]MZ[:S
M0*,1_*F3;8;J$RP4ROV&)=1_7:O,#'#S/:H<.9&#4N.,7613*HKM@[L4,0L9
M22:PD@T(QN81[/9DC9[0WH-\5&5I>MU0M:Q5A9XT,!>QH!QQ8A\U8'8L#JA-
M,8A=%+ IB&$#M+%Y:'N?>&DVN69EN[!%_9"%]CX)8H>%)\7LQN$9ZQ[@C<W#
MV_UNN^VF(2A9YBBEJ)I=W2TMLA[L5-E=\()ZA:H]*\F=U5MZ+F_CZQ\#R?%Y
MDFOAN-W&-CQP>(C3G]G5<K6;N,K$70YC/'%V%#&S)&)V$F%F 6 BGD-\8#H^
MO]?VO2HOVEPY6-K  #EU7N!GW7([J[?T7-[&D1U@DK]CR\U9Z;>W<>J\FX7%
MF?;BN0N&3KJY)I00FSX0*T*G<FW 2WX$+X]O7-EA&9VT=!=IW%BAH>@>973Q
MREXJW2)&/')BX1I1/[9G[.7!+<J-K!_;VZB-UPKHKB/VG_8W7K^T]SRMS[^2
MR[2[MSJXZ:[1?A,U3-L-4.@*7/J?(WBDNKN9VKW1U;:]J_E0:5UMVI=K*0!@
MC0%\OZHJ_?;&_$!_/_CF?U!+ P04    " #UB%98#288S6@)  "I4   &
M 'AL+W=O<FMS:&5E=',O<VAE970X+GAM;+V<6V_;.!J&_XK@'>RV0%V+!YVZ
M28"I+6(+[*%(.[L7B[U09286*DL>B4[2?[^4K%KF(8R5?)F;Q++)]Z/XBA3Y
MD-+%?=U\;S><"^]A6U;MY6PCQ.[#8M'F&[[-VO?UCE?REYNZV69"'C:WBW;7
M\&S=9]J6"^S[X6*;%=7LZJ+_[G-S=5'O15E4_'/CM?OM-FM^?.1E?7\Y0[.?
M7UP7MQO1?;&XNMAEM_P+%[_M/C?R:'%461=;7K5%77D-O[F<_8H^,!IV&?H4
M_R[X?7ORV>M.Y5M=?^\./JTO9WY7(E[R7'02F?QWQY>\+#LE68[?!]'9,6:7
M\?3S3W76G[P\F6]9RY=U^9]B+3:7LWCFK?E-MB_%=7W_-SZ<4-#IY779]G^]
M^R&M/_/R?2OJ[9!9EF!;5(?_V<-0$2<9$'DD QXRX',SD"$#T3+@Z)$,=,A
MM0RR[NT9@B%#H&=X[*3#(4-OYN)067U-KS*175TT];W7=*FE6O>AMZO/+2NX
MJ+HKZXMHY*^%S">NEG75UF6QS@1?>U^$_"<O&]%Z]8T\JO/OF[I<\Z;]BY?^
MOB_$#V_N_?9EY;WYY:W7;K*&MUY1>5\W];[-JG7[SOM%.;Y8"%G$+M B'XKS
M\5 <_$AQOM8B*RW9ENYLRWJ[E9=I7V)+[I4[]Z_K==%=YEGI?<Z*]?Q3Y2VS
M76$O2?J$5I[OM_NRK\Y_B0UO/%DVV>8W76.\X]ZG*J^WW'OS][IMWUKDF5O^
MF@O96TCM-&NJHKIMO3>G$5?\IL@+H0DOY#5QO##P\<+ ?23Z2*2/_+:HNA"R
MX999E<LR2VL/IK_U,B%CY>\]@MYYV,>^S6FG?M=C?FAW6<XO9[)Z6M[<\=G5
MG_^$0O^O-O\/8F$OUO66=U<DP0&Y6-R=^@P9,H448T!BBI7D:"69:.4Y]ATT
M@Y,:ISZE,5:K?&DF(XGFBDT)D4!+EIK)YC2F:B)F"1>$\3&14C_T6#^TST4>
MJ1_9)N5-N957N*R4_M/;KANS]G__O:[+TI,WM?NL6?_/5F\4\K*'%%M!BJ60
M8@Q(3'$_.+H?.%O'/^7PK>A[99N;@='O1'X2^EHC<$:8:A.D6 HIQIZJ#*7^
MPV/]A\[Z/]PE<^4N60QWR;*[2[[S*FF1')"([,%F46B4"M$$:0XYRS#5(4BQ
M])SB,Z"(BD'1T:#(:="GMMWW=PUI07X8:+5=U^CM=_(C?^!-7K3]KX>OZUTW
MF&I/QPLVVYQ!I_:3D7EEXD"[#4$&3"'%&)"8XFY\=#=^#7=MCL:&"31)$NT.
MOHR-.[AVL:_L.MI8+W6>UE0'@,04!Y*C XG3@6N^VS?Y)FM-#YYH0D[=J4TH
M,6I]CA"--6\@0Z:08@Q(3+$0^>,TVG^FB=9)L&^I;)PD4:0UEB&A,BC6FXM5
MC$1&@W&?P=3JMD9%(8J)?3B 3H@$>D&/=,=;T4UEY(^RE*(I\F[B.R2H"O'D
M?<<=?6JK&=1.JR$@ONX09,@45(U!J:EFCY0!N3'#U^R!M]+) [\0=3_6Z]WS
M6BY$V>.HSFQ^F']EW;SK:8]!V0,RX<,<&STC:,P45(U!J:DFC_P!N0'$\TRV
M&DLL5D0Q"O1^TUF@J>/],Z.FH%$9E)IJV@A%D'/6?=7CCWE'[=?][$Q.S;)N
MZ&>UA1H5%$9!E.BN@.*,\X*FH$$9E)IJRL@JD!M6I-7Z3"2+K#Y!XH E,GD
M21#">L<("C1 U1B4FFKGB#Z0FWUH=IYEH<D+* DCI$^SAG1.,&O3BB*"C9&C
MA5'XOC969994<XK"('AD0#CR!Q3]@7P6@8('4+45J%H*JL:@U-2+8,04R,TI
MW)@6F<P ^5&2Z*L5[B"3[8)42T'5V-,UHAHQT@KDQA4OYK7(0AIP$A@=&"0=
M6(&JI>>= H,*JB[@CDP"NYG$*X%;=]3)"[LF1Z"A/K<"#9F"JC$H-=7DD9;@
ME]"22?P6FRP#4QIKHX&ENT!3&^9Y05/0H Q*3?7L9&N%&WH\G_BZA2>W/2O8
MT%<W5Z!!4U U!J6F.CF2#>PF&].P+[9P!((B0O5['[;LA="G538Q>0\*8KWE
M@$():]0XBDXV:JA5.?(&[.8-KXQ]W=$GMQR3/1"L3Z] 0Z:@:@Q*335[Y!C8
MS3%>!_NZ@T[VV,0;<T2,9@A*-T#5&)2::O)(-[";;L!A7VQ!"R@*#>SK+M#D
MH<EY45/0J Q*335MA"WXF;L]Q*:I][<;CV]W9?V#\^'KX_UO5V;5DPT4E+U@
M<]<'U3=]@$9,0=48E)KJ]$A4\#-W?ISCM-5=R\8-JCNR=)=J<AL])V8*&I-!
MJ:F^C0 &NP',E(49;(**@% _UCT!92WG!4U!@S(H-76']<A:B)NUG+\P@ZV;
MK4&9"C&9"HE(J ]=0(.FH&H,2DVU<Z0JQ$U5W LS=@LM("-.D#XK6 [IE(69
M2'?&LJL$81J'^I9Y,]T<)51?F;$EPQC1DX1J/8TD@^ _<&F&@-(-4+45J%H*
MJL:@U-2+X.3Q$C<$<2_-$),8H  %B3XN< >9;!>D6@JJQIZN$=6($:$0-T)Y
M\=+,H'_:-V&J\U]W(28;!0I)B,EEC!-@4"%5ET;V0=SLXY6698B)*P+S::TS
M$JW<Y9]L"2C2@%)3O1N1!G$C#<#5%F)NT*!!$(6Z8Z!(@UAV?,B@^GP)-"B#
M4E,]&XD&<1.-YZ^VN(4GCT=,7#%'A!JM#Y18@*HQ*#75R9%8$#>QF+;:0DPT
M,$<1PL@8D9N/I!B;[*UB.$E\O>6 D@9K5-EAXT>>>"4C1"!NB/#*JRWNZ)-;
MC@D4J+[A;04:,@558U!JZN/-(YR@;CCQ.JLM[J"3GW2V/4\2ZA-CT)@IJ!J#
M4E--'I$%=2,+N-46:A**.<:$ZD,3=X$F/YUNA11&U!0T*H-24TT;^0EU[P1Y
MU=46:F[O,)Y</R/-RGT.DQL=*/J 4E/]&]$'=:,/\#44:N[\"'WCL4!WJ2:W
M/%!6 JK&H-14?T_>#.(F*E/66JC)'L($&:--=\3)WIT5- 4-RJ#45%-&@$*A
M'H(A5I] =XE0RT,P8>+K>X% @Z:@:@Q*3;5S9"KT)0_!V"VT/-P2QBC2]]'9
MTAE#2C--D$0)1GH3,M/)Z:2O[_FV)9/S-3_67Y.R.'EI6_<2OW]DS6U1M5[)
M;V1._WTD)9K#>_$.!Z+>]>]Q^U8+46_[CQN>K7G3)9"_W]2U^'G0O1KN^';"
MJ_\#4$L#!!0    ( /6(5E@BTYAQ)BD  *:%   8    >&PO=V]R:W-H965T
M<R]S:&5E=#DN>&ULO5U[<]M&DO\J*.TC=A5%2W*<S<-QE2PG6=5M-K[(OJVK
MJ_L#!(8D8A#@8@#1S*>_?L[T * L;]U=U:XCB< \>GJZ?_WDRT/;??!;Y_KL
MXZYN_/=GV[[??_OLF2^V;I?[9;MW#7RR;KM=WL.OW>:9WW<N+^FE7?WLZN+B
MJV>[O&K.7KVDO[WM7KULA[ZN&O>VR_RPV^7=\;6KV\/W9Y=G^H=?J\VVQS\\
M>_5RGV_<G>O?[]]V\-NS,$I9[5SCJ[;).K?^_NSZ\MO77^+S],!_5.[@S<\9
M[F35MA_PE]OR^[,+7)"K7='C"#G\Y][=N+K&@6 9_Y0QS\*4^*+]64?_D?8.
M>UGEWMVT]3^JLM]^?_;U65:Z=3[4_:_MX:].]O,"QRO:VM._V8&???'-658,
MOF]W\C*L8%<U_-_\H]#!O/#UQ8D7KN2%*UHW3T2K?)/W^:N777O(.GP:1L,?
M:*OT-BRN:O!0[OH./JW@O?[5NZW+;MK=/F^.6=Z4V1T?3M:NL[MJTU3KJLB;
M/KLNBG9H^JK99&_;NBHJYU\^ZV%^'.59(7.]YKFN3LQU>97]W#;]UF<_-*4K
MTP&>P<+#ZJ]T]:^O'ASQC2N6V?/+179U<?7\@?&>!VH\I_&>GQAO9IO9?UVO
M?-\!]_SWW(YYO"_GQ\,;]:W?YX7[_@RNC'?=O3M[]><_7'YU\=T#J_TRK/;+
MAT;_7SZ[_ZNYLC?.%UVUITL(C[\>/(SM??;O0UX?_2*[;> 0G_0PP9__\/75
MU<5W,@_]=OG=(CL[N#/X=_#X;SMT9T^S0^ZSJBG:;M]V>>]*^"7#$7P/O^$L
M;UR='_(.?F[@Y\+M5J[+GE\LLLMOOODF6V9V/Y7/MB#/_CGD7>\Z'NS'UL//
MV4W5'Q?935Y7(/^:*J>];V'RP[:MZ^-Y>VC@>3^L?%56>8?;[;==.VRV( !I
M12"4ZG(R7Y[5,".2:=^U]U4)4\&BB[H=RG,4,F5V^VZ1>5<,':R 9BW@[;K*
MFP)VV=8#DA,GR_O,-?FJAIUVF[RI?L_EDS:#8>$HUL<X3E?Y#_01K*SJ8 [8
MZKK+@;^'HA^ 0Q= B7J/B^I!;,;'_!'(L?.TD'P/ZRADFG77[C)W[[IS=]_6
M][BCX@BT/L_[/B\^R!O%MH)G[!8.5;^%R8'&35YG>^45?-I]E+]V;C/4/$]"
M0&2,R[]\YYE>AAIY67;(64CW#5PF7,TI&M*/[F/5Z[1"&R0H\DV.3ZXK.(G5
MD08L*^]EARO@\9)/>^7Z@W--W$JR@RF!Z?.#6\&AW5==VX!^ZX'J.$&7[RN@
M5=F&J\+[PY4.=*7P77P2C@?6YKI<']RX=@.O;^%8@"MQJ7O7,1=EN?<.]';V
M2\(><%NSP3L:;DQ6W,N&KY4?*KY/D<BEJT&/XC6!N?D.?P$"'7:\!Q*Z[%TW
M_ JDS-["T2%H0'8KX#:=N_7:D0Z&%;:K'@ #7(.A82+?HP*'>9CC3AW:'L89
M\'"*KH5SWM3M"C=\#AONNVHU]+SE$<V7V>O<PZ6#X=^B%&YZ)ARR5%X4O'OB
M7-@?4+:DK:^K!N:LX!1)J-!!T7K6;=LW<#] :N3 U"L\?I#N^UQ$!P[9E9'+
MWR_OEME/U]=O,Y0;@#_POTCWJN$UZGU%F)%=7IS_6SCH;JB5.^-=$#)E=S_<
M++,;UQ$E@?9MEQU=W@'GH@BVJ^M<40,;,*7I.!HZ&5H>#@74[F!__/[>T&@)
MTIF>:/=5(\RVRQN :T@/YMO/)"&@+H1D68Z$*'\#B"-WX #LBS*AJ(<2Y3:P
M28/ "P4!+I!N@'VA ;GN/6HAV TM99U7Z?J55A/),;],X*\*7UO E!YP'=$:
M ' GE"=VS/TV6P.8]6%:>*!J2Z\S.Y'WGTD8W;G2E XQ73\MH.H?4#_+[!KH
M2M)()L\ O#0^+^(.X,X@=UH.@3L-X)+6-NR!;'&UQ 3O/0F!'WQ? 1"&-]^1
M%$*>3\C\F$TJ]^'U'MV/SOUSJ%!(1A9#=MWE'V!H8707UD":Q8,UL3>Z,"<A
MPY?' 3C A>B%@$6R,*170:2LJCK*?Y A(&\]BI<''N2A2T$9C]MSN,VZH'GF
M*@=B\?@DP0-BK7GU9ZC$XJ&#*X,+Q__A.'!J@5QZOT!0 '"K\$DF50>:N1EP
MSJ(%(,?L#Y>S/9 (0QXO0+)5?0;4$55UG]=#5#YM6QZJFE4?<%[>;"K$(TS"
M!2(=C_.#+5-\$'2#O F6'8_![\&?@/?SCXR(//'=-0APNO],+[@3-1X4++QC
MY-%O6[M)&LH/L$U^R!&;[_(C<'F&3W1X-(Q_/O-Z@JAM8;2FCQQ_PV0A;9?@
MN^8>5N3IHI*T"&(#^1MH1UQ!O+_+?P/ZQOE0)53]()CG!M\)MY5>P/';QMD'
MB2G!4 X;Q5OR$44C+G+M %P2*H!7!E11>-5['=VN"&$/KYT5V18LVG- Q35>
M5?Z F VP 8BI=-'=$'D=QRD1([#&2<$O@F?0GK!"9&T\H)(VA<SE2#[0^04!
M2 (+Q!-P*5(4P;.\WGK69OBV-S:(<"OBN:6>$?["! 1>VI.$:.,<P/H.J(!,
M"\-']%3"M1!F@<NU<5DSD!V!T(Q,<W@,^:*ND;60$KPXD6,E79Z968"Q/1LI
M:IB("4N[A1^N0+FU88X,K^ V;QH'&@ILE,:%466.7=NAW@!,=WGQIY'.^,+K
M%5<P/MVU\!CSQ((YXX?(&8OL5X< J\#Y D??;4%&G;]S "3PU[^US89_^SGO
M/KB>!KYC((>B\^;D35#%1Q^ _4',M\J;#VB.  \"[]85/%_"/AMW!#;'\;,U
M@'!X@B!9]=&5YR)#2)^\ZT#J#!UKS$T+S$A0.P.!V:"E02*..:+MJDV%:!T$
MA"Z62-@YAS.BPP)H7..%.FP= CP^WGFI[(DLO9*E1K+0;[M(%A_)@H('T"M=
MU<DN&&YV#KA[LHFC&661!5,8C!,F"TI?D+;%!T0(<3Y!U,!6C'ARX/4E'%E0
M):7#U:*)SE)R#_(8E 8.K2BRF,-67W@C(X*F1,&$#^Z'#E@89#6#6<<:!.9@
M:>WP N<JS1P8C,J3&?LF43"G@B1 6A:T\]0%8>/@C.'"F&/!PPRGPOH(YJ5)
MHRB#[0!_.5"IJ!XZAPY.413D#1HBPQQE=9^^U'TB".$NHCA*+I;N&@;ZX]7R
M+]D.%"MI9/@#*_ _7BY?Z)]1X'2N)J6%N-Y>(/2ZM >D ,H,/:S7-<BTO[J/
M^:851F;$2XN$H:_BT S\R5! 0 07H.]%^+%0!8-XX(E90C9E#8;/E"V,^\3X
M6> YX"3'\ "7&8R^TA$./Z&A2"67R"9H52JL(3;]*"B S "1$LAH<#9WGW<K
M<2)C,\'J\ON\JO&Q<]C*N8<%P3I7O7WIR?6/=^,_/@T:L<C!A.&%T_ID8>\;
MD%1U]3M\L@$6$\@9E&%\5.DZ,PF-'] EO-42RR.\Z=P6/>CW3A'6$QS[Z3+[
M!TJRA\8#.%0NB,;(9>&:D)<--"B* ?4PJ4#8.<!CY<( WE,[8ZA!8M\L6)>(
MV*#Q[BF:>+TR8H+0#+I.0/3R ?*@BP%>%?:KV6JL@$FK#D>"5QN+<BJ1S26[
M!.DY^($T  H<<S)('PQOT-_!V@#H_CN!7 ^C@CRH29JFITGP-7V6%C2W?K)L
MF :*,'L'4AZOGD>' KQ'")QP0%U]0!<+P0%$(RL7 8F^L')KA@R.@%C!5DF!
M*N:HC#9:W(I\*,3)6P1#--@CSHTM&/R-;RK)"O3>M 5L$!U3.,:A\H[EHS$V
M:+^@\IL@ON)QL>A#3XO<SU,62T3.*'% *9)=A4#^^,B=D(RIG;"T*@):H"P"
MP.?OC[YYUPK ?HT ['H&E#'7Z@Y[<1G=MU41;%HV7%LYYKQCP]\AVY$#X@&:
M(-!534\7.X=5US5[Z.2P@==1$("] /"7,312#+0?G"G8'P5HUX\(7G 9I$-@
M 8#\JQ*U8QBC2?2>R@S4_1:U*Z!&9I9MRLG)NM@*/[+:$8^P6GXS&]3+ZP%#
MPM =^D:S ]PH=XY\@&[=?$,:'=[?M-UQ89R_Y&82<*W.,1BPK*(7!0%FRYYW
MMCKW*'_I=[Q;H(M9.*T'<EGRJE#($-LU&Z<7Q/HP!B\^1,"CQ]]I=<FFT,)C
M:YB>*GE!Z';6HT91Q(C%LN6IBR@KT:OXC_%AP41$7Y GL'V2U^IH&5E-0Z/L
M W_@FZQ8!KD Z XB"V\@4!VU ?/S QRZS-[F1Q;QZ. ""08_UT>9EGF6P&-<
MAP]W9G;G^N:G+X<9@OSUD6M48LQOXH#W!2^CY6SU$J)S%2X,ACX? (F\. ,#
M9^PUEJ_XV4-"#X3B'R^__"I"N@7\?G6Y_#I /,9\%]\L+^*?YC'L8O*G*WI[
M_-?+A1K8Y.=?9G]OF_-YB'7;P N77Z>@.+@? /R^L% 4Q.G:=1VI_K;XP(@4
MS))[8LYS KVJ'6TL\98'=!),?,KDG:*J5/&S$9^7Y"93X!=P3<>R&2ST?PXM
M+E:@)BP'[Y^>=QPR-5PH(\$Q0MJ1E<J&5UY3U(CD;_1.S RGV)=-4J,2B5<)
M!_"P,^^9G3\DF=L5!JOIR&A7(BA$ZJ;$$H]C.<)3L)IF(,<3HA.8"Z.$&"HD
MT-;IB.01KKIBV &F(_F%*@1E<H0]GSJNFH-^H'X09)/!)NAZNMHIZFQ L(F(
M%Z_O'.),S%$_[],*H@G_2'J04)IX*E..>!.]O7 I0+5DT2Z2*S=[-B4!F?GC
MT87;(V_*5)K!"05'Z!!M#T8S#P/Q.8=W .)C',[7^YMT%SMT'.:HN.XYGL<2
MGJS=B^57X<*+2:F7ESF+?'8P UFD&@[H7;%MVKK=H-D((J?=TX"8"J2F(5C^
MZ#86/\ *Z=WW==0.:N%V[1&N()@%3B&N02]F'B4?T(V1 '(@'$+CHS&L&VZ[
M!9.4\:TLA1 YW)/)XW@7P.85!34B$@KT@ <M]YY_+OLFW+=NAPY EG+?O'ZZ
M7(RIH#Q/X2,AO:A+NZ,2+,62Z0+R$LUN&'0/8&-@Z60/3?C+3"*B3Y%%]#D)
M;10',ZCN,*&B/O)2\;I0&)^$:/I:0M($FLAM41)3(@%(KDX"^WD)<!ECS2RE
MY7K8R U%4$_0$!!-AU=$XMKH8-US&!5O5_*9T\]F7!XL[D ]#+N!73^E _58
M5#&:(J:;1._>V(\K+PD%&.KS003!EC!_[1Q-5;'C,[0&F9:"LO$-MQ[J##,
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
M@,_QF\7U%YP ZWYH>:_^!U!+ P04    " #UB%98E]7E^<T0  !?-@  &0
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
M>(-Y?5K;>V.1YJ$VHG_56"NKH0SN=>^,41Q:,AE;!JFN4#AQQ=B8M&@G4RQ
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
M(3=P0L\[3VX@$%Y%A7"OM]*W+Z:ADMLUHY"&["5]-%<C+@ A"D"VBVN_TB9
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
MS0+T?ZF4W6_8P&$6GOX-4$L#!!0    ( /6(5EB<02\2" 0   D)   9
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
M91\D=(0\T^YI2[:ER1';CX*XOIN^>OFX -N(WE)DK8-7[,2-K$08X6@C1&Z
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
M_>Z$;B 3GL]AXG3EGZQ+[>@![(<Y"NK>K$#K*ZW=;L(;M/_#6/P-4$L#!!0
M   ( /6(5E@SBO&[;P8  ,(/   9    >&PO=V]R:W-H965T<R]S:&5E=#$W
M+GAM;)U7;6_;-A#^*X17;"U@V(GSNBP)D+8K6F#%@K;;/@S[0$MGB2TEJB1E
MQ_]^SQTE66[2=.L76R_'N^>>NWM(76Z<_Q1*HJCN*EN'JTD98W,QGX>LI$J'
MF6NHQIN5\Y6.N/7%/#2>="Z+*CM?'!R<SBMMZLGUI3R[]=>7KHW6U'3K56BK
M2OOM<[)N<S4YG/0/WIFBC/Q@?GW9Z(+>4_RCN?6XFP]><E-1'8RKE:?5U>3F
M\.+Y,=N+P9^&-F%TK3B3I7.?^.9-?C4Y8$!D*8OL0>-O32_(6G8$&)\[GY,A
M)"\<7_?>7TGNR&6I [UP]B^3Q_)J<CY1.:UT:^,[MWE-73XG["]S-LBOVB3;
MD\5$96V(KNH6 T%EZO2O[SH>1@O.#[ZR8-$M6 CN%$A0OM117U]ZMU&>K>&-
M+R1560UPIN:BO(\>;PW6Q>L7KJI,!,M1Z3I7+UP=35U0G1D*E_.("&PWSSIO
MSY.WQ5>\'2[46W@H@_JUSBG?=S 'M '?HL?W?/&HQY>4S=31X50M#A9'C_@[
M&O(]$G]'W\PWW$]8O30ALRZTGM3?-\L0/9KFGX=H2$&.'P["@W01&IW1U023
M$LBO:7+]XP^'IP>_/)+"\9#"\6/>_W?)OM^;NFU]5J+GU>]+:PHM<_2A)%A5
MC:ZW"N\45I*G7)DZ.J4+3Y38Q5W3+R^<RQ/?3(;)X-K4*L*3\[FIH08J<ZV'
MI5NI91N ,829N@E\CQ:@:DE^:(,IKX2M)U8=H-T%RD;EA6*I51NYF UY(PAP
MK?F-A1B%"_544+@V %IXQLZ/U1/\3<^.C_CN1!V>3\].S_GZ5!TNID>G)WQ]
MIGZ>GIT?JP\N:OMP]"?J]'!Z>GJ@WF 2JMJL3";\A3T"5]Y5*D+EF"[Y%SI#
M8C,C'S5#W#8D5&2H#O<DV"UUE%LI5K1;L/&Y-<C/1/9ENJA;M=;(O0VJT3YR
M374!EP&+K395Z!"4QN>]Q8P12C9]L,8;*+:1(%9' ?O4/),"=IG\%-1R:_4F
M3%6+T%YM2I.5#*:"B(W@Y,"81>=3.] =92WK,K(#0\A\*L\KO1VM<0CD!XNT
ML&JLVQ+!GNMLC5X::U*"W@1N"FQ!S!G6&I^ ,_VE::8 #_2[_,:(1SD]#KTO
MS@#K.W"P'V#Y;V! R9+Z,N?[14X[!:-P' .[GA5(7-P>Z$/8Q*!Q$2UDT,FF
M7GEN*)$#8$87LJ<LMMSF'D<!']$$O--QH8+:X#7_[USDNL)F'E2FVP"4RRWB
M8BAPB?5YFT7>,^&1V\S!.M)T+TV6E-HQ[5GK.4_FJ'\(_B$8\G [Y,.=POS5
MW4:_,;'$(8.[[XO1F^W-'HL'$Q.&PDJLKIY8C'U UQGPI6)P 3*WQJMO,FI0
M1[>3S+U2\;NADV;J-RK VJUW&1&DL CJU3U-N-\&4!I,>KUV=BW2JZRX:49N
MD [:);3+CPC%KKJ![X%^78"_&.M!CL?DI4K &\=<&SFC\0#H45DV)=6L  9.
M,,)LN=1+2TF\QI9<WR6Q];CJC$-7KD4O9KI.S:^#J^%CJRB &G1/WE-(=SBH
M!E0B:90,B'0!K$126?P[HYQ[MH^UGYBDDQ/7:#@+F%67QBA^XT(PXV1P_Y4\
MM$(?%4*M6(&F8;4\>#2[]Z9(+0P:/K9Y(;,I6'9"D!,RQ.F0QD0G:GLB!X\=
MI5^6<\WGW6YC'4H*TB):2T,&/[?8'<C;Y%'G'UD;[YD#"T[55CH.[@V\9Z(D
M-14.^B!C.,4I($:;S@E3Y5O+#0L]R?EH(#1)1=&1J)5-,MDVN:"'1,EI'(X>
M/R"@;KUL2$F&3/2.:.H*D:B22GZI1;M*<B/A' %@4C09=+9R=>%XH.Z-X)2G
MWJ";H)[@#66/^A.Q'!3$ &?JM=L0!&6J6$0ZL3 <D^'+KM[6.$'F)HN"EHG
M^]%0AU%WM'4G3"Q(()DU O0D]>+N7]+6=>VPFV_9>9Q%H^$@9).T)A$(NZY)
M6YX.^'9KTBD&)Q[I:2_E%ZTJ]9J&]G>>)6Y?VS,)((SN 8<O7^Q/;B*S']V4
M0EHN44;%Z'NL%F7%WH?O,6D+WJWZAEM!XW"DY?JX8-+W(._A.I1JQ6?!V4,'
M\_GHNPJ;:R%?CT'Z,J9/K.'I\(%ZD[[+=N;IZ_8M,N2MQM(*2P]F9R>3M(_V
M-]$U\I6& <9.+I<E/K+)LP'>KQRVV.Z& PR?[=?_ E!+ P04    " #UB%98
M(^"J]VH5  !H30  &0   'AL+W=O<FMS:&5E=',O<VAE970Q."YX;6SM7.ES
MW+BQ_U=0BIR5JBB*UUSKHTH^DCA57JLD>U.I5#YP2,P,8@XQRT-CY:]_W8V#
MX'!F)!_[GO/>^V!K2 *-1I\_-$ ^V\KJ4[WBO&&?UT59/S]9-<WFY\O+.EOQ
M=5K[<L-+>+*0U3IMX+):7M:;BJ<Y=5H7EU$0C"_7J2A/7CRC>]?5BV>R;0I1
M\NN*U>UZG5;W+WDAM\]/PA-SXT8L5PW>N'SQ;),N^2UO/FZN*[BZM%1RL>9E
M+63)*KYX?G(5_OPRP?;4X%?!M[7SF^%,YE)^PHNW^?.3 !GB!<\:I)#"GSO^
MBA<%$@(V?M,T3^R0V-'];:C_B>8.<YFG-7\EB[^)O%D]/YF>L)POTK9H;N3V
M+US/9X3T,EG4]#_;JK:CX(1E;=W(M>X,'*Q%J?ZFG[4<G [30QTBW2$BOM5
MQ.7KM$E?/*ODEE78&JCA#YHJ]0;F1(E*N6TJ>"J@7_/BMI'9IY4L<E[5/[$W
MO[6BN6=IF3-Z<($3SMDKN08CJ%.4X[/+!H;%SI>9'N*E&B(Z,$08L7>R;%8U
M>U/F/.\3N 1^+=.18?IE=)3B:Y[Y+ X]%@51?(1>;(40$[WX #T][7]<S>NF
M COYY[Y)*A+)?A+H.S_7FS3CST_ .6I>W?&3%W_\0S@.GAYA,+$,)L>H?Q\M
M?><AV#7X#Z\JKINP-XL%)Q]C[[-&SGG%8M10&'FL67'JFY;W3-0L;9N5K,2_
MH6LCX4;=<FCH!V#@18&DZU4*0F1RP5HPF5HLR[2!QAL[8DTC;D6S8BG;I!6[
M2PL@ AU.@4X0L@T,3U1\]B;-5@PT(A3%(9&B8*L4V*Y;:%BA&]<T<]62EQET
M%&56M+DHERP7=R+G\%BU])P;P*3',EG>@0PI:.D6=[+!GN;2&:+AU9JX G[X
M>D-R/>O&JD7Y"?\N6F)'W@FD6Y][;OM-)3(8%\D5 O26I_IVQWU:0Z3"L4#I
M.9O?DT+F,JUR'#L7%2A.5K7/KH@9\"^^)@5J'U/4X9?29<79%O\KM?* 2L4@
MXM<--".^K?YVI.VC&:R!.VTRRLS> I,E6<YUD99D,P<>?5CQ8X_/_OB':10%
M3\$T[X1L:]46']&#\.DYVX(LTEQNT)YP4ND&Y0H7 ICB<)LF3OWP\9QGZ9HS
M;FU;]IJ-E87[["/8:45B'8[]@/TOJ[1L\ <OQ%+,"XX&W8A,0/,&^0XG3\D
M]4R5V4I2?LW.3M[>OJ]/P"1*N&S2I@5-W@\:_:(;J?LX:9X)92C:'(WL;J]N
M:B,MM#,(B2)KK+ND6[":>L^#MA1(Y>3F]B.-!!Y(F 'XUL_(IYR[RDI\4FK9
MDD#!8CK;R92IZ''O4E&D*!WH3V:G*1^6.XJZ;N?_ LVA>.%&6I9M6J L <#4
MI,R_IG +!!;BB!Q#Q3V'>#*_I_9KV8)N^&_8"TC@. 7T;+!Q[ 6C &[!F#@S
MQ;?'1D_P(;;<[Q%Z.K5I52"Y/+TWUV*]YCFHAA?WZ#T9I_X+46?  _$&\^]X
M>YQ? X*A9]2?8QI&%<>SIWM<';Q:<TM.GN:YLM/]0O;9>Q!B6W(V)0(1F$"7
M"0"3<#0&QP%^JI4(=*[I'!#;7*V).3*5&X[FS/.C#H^=3OHM\<')N>N2P^??
MXI(U0X_SV"_T_ZX?> P=P&/H1E_B!-=MA2;=&$E7 %SO\'J#\^QBOX=V-XEV
M[4[KJN<D:A;M$3&@ ^"3OL)\D#*J76!XP-!_WS-E%0$HY.OP0@,!W4/.N%]W
ME'CGQL#F*7B%GKN>TA?/1I 'W3/^>0.F#VWY9UYEHE8)"F@RB=EK"W>0Y((+
MR@*+1I/<%<,5S+SBN+3IN_#,&T]GG0:.\[DG+G7.WQ_19M5"EDOHWB>\:)L6
M'A/]^J@@CN3QT)M&R<!XTH'M] 8#']>:7D.<FG.K< 7 2F;DK+ (D$\;<JI&
M1\M> %VDH@)"U2=8<EK8MB= 8'>\G:-DH(D2+ D<.--#$L/;%2_9'8B!YQVK
M%$)N/_[4F>>2E[Q*"XBKV)9!T*D0/0(RE!0OVPVRN)!M17$2IHV.3G.69=&;
M.(:&]::0]YRKD=!)(-?4 D(W9)-,5AM947X%-&V;@F+ YLD(C1OM2-0E['41
MG,8 9%G#8I/43\I[<+S=;E8Z)CZI6/5PE-K/+*D?98GNH:#L(Y$F#:#=%.Q]
M+2NR&HA&H$D2ON.6?0, XX3GA8"'X.]JJI UZ &NN]  P?84#RF9!)A^R-YH
MH6CH"?$V6R$&((\T.6Q&?A+VTH.%8(?3EAK@]OH:% PJ;,#8@=]Q,( '.DQW
MR:8'9O8F'!)NI]%V@[6,7(5>&T9HZ _ZE\H6L&XBZJA^GK449,87:UR)0S<
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
M1^F#,OH515T_[?:Y]9P0@%M6U=YU"V*A2RP99J+Q>\5UY<!)?R,XU9%%GP%
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
M^CR)5M42*]-P$_)I+>CK,@=$,\FCVPY9<";17P[^:="7!F'F"WFE%1V"#!T
MG=#5"#C8G.Q!D\11 PALU=+GG(!R-=>O*: X-SLD$G0AA6Q:I.<1?D#?B&>J
M.[U-&G4+-8^J@@PUGR-/&SNJN7Q^[S. ;]G(W6@%("H[!?VTK/S@Z=BJ_0Q[
M=J;)8_@M#5C*\Q]&XJ,:6@/H;&F.YCCI:YJ[6-3N86(J]%97RDT.HOA8P@U
M>$>9NO2G0>Z\#[U! D0BZCN9]RA\KM1\=#(URYC]7+=QNM0@H_, ;'M_NS?
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
MN,1?4EX!>6=K_M:/= D*FY6-*Q,NM74:6I#L"=DF%X9AFS0I7;O%Y=PMT%B
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
M-EYRTL,$XD+.2G^*SDD4OZ#RFJIJ\IAIO.92^=!RBYI-V\AB9QP039R'EF)
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
M#11GUQQY#:X$LP"\&3S8]-OC<=Q1W_>"/F1;1O4FF]*NHIP.?MZ%#%<,M+0
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
M^]SM0=J<=I('.V6[G3HVA,Z 6[J!Q19P^Y#L.@/R)O^%$]PH+/F<PSM3T_^
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
MF'8+<'ZAE-UVG(/^<3C]'5!+ P04    " #UB%98*(>,3\\#  "_"0  &0
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
M4L/KZ<0#W2V&SK&J;H=QJRR-=FN6M$M1NP"Z+Y2R1\<5Z+=S^@=02P,$%
M  @ ]8A66.Y.HK<J!P  E!0  !D   !X;"]W;W)K<VAE971S+W-H965T,S,N
M>&ULS5CO<Z,V$_Y7=MQ<F\P0# (,W"69<2YIW_MP/4]RO4[GG?># K+-!) K
MB3A^__KN"DR2.YOS]<=,/]@(L7IVM?OL:N%L+=6]7@IAX+$J:WT^6AJS>CT>
MZVPI*JY=N1(U/IE+57&#MVHQUBLE>&X75>68>=YD7/&B'EV<V;F9NCB3C2F+
M6LP4Z*:JN-I<BE*NST?^:#MQ4RR6AB;&%V<KOA"WPORRFBF\&_<H>5&)6A>R
M!B7FYZ.I__HR)7DK\*D0:_UL#+23.RGOZ>9=?C[RR"!1BLP0 L?+@W@KRI*
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
M^**EVF]@[8V1*_O=Z4X:(RL[7 J>"T4"^'PNI=G>D(+^0^3%'U!+ P04
M" #UB%989*;G/. &  !*$@  &0   'AL+W=O<FMS:&5E=',O<VAE970S-"YX
M;6R=6&UOVS@2_BN$MUTD@&I+U'N;!$C2=J] =[=(7PZ'PWV@)=K651*]))67
M^_7[#&4K=DYV@WXP1<G#X3,SS\Q0.KM3^KM926G9?5.WYGRRLG;]>C8SQ4HV
MPDS56K;X9Z%T(RQN]7)FUEJ*TBUJZAGW_636B*J=7)RY9Y_TQ9GJ;%VU\I-F
MIFL:H1^N9*WNSB?!9/O@IEJN+#V879RMQ5)^EO;K^I/&W6S04E:-;$VE6J;E
MXGQR&;R^RDC>"7RKY)W9F3.R9*[4=[KY4)Y/? (D:UE8TB!PN977LJY)$6#\
MM=$Y&;:DA;OSK?;WSG;8,A=&7JOZGU5I5^>3;,)*N1!=;6_4W3_DQIZ8]!6J
M-FYD=[ULG$]8T1FKFLUB(&BJMK^*^XT?=A9D_H$%?+. .]S]1@[E6V'%Q9E6
M=TR3-+31Q)GJ5@-<U5)0/EN-?RNLLQ<?VD(UDGT1]]*PDR]B7DMS>C:S4$T"
MLV*CYJI7PP^H"3C[7;5V9=B[MI3EOH(9, W ^!;8%3^J\:TLIBP,/,9]'A[1
M%PZ&ADY?^$-#V=O*%+4RG9;LWY=S8S6H\9\QFWN-T;A&2I?79BT*>3Y!/ABI
M;^7DXM=?@L1_<P1O-."-CFF_^(ST*[M:,K5@&^QSB224[-$2C[W%S-BJ8*(M
M&6@*$K9CEAS=:]R2+RO)KE6S%NW#K[]D/$C?&+:4:JG%>E45HF9S%('OI;IK
M"6*U!W%S9QVK*L.$80M5HP"8U^Q?4NB>)0PQELU<ZB'.-' : G92M<RN5&=@
MF3E]-/0%"Y+(R^.,9IQ[?A!BEOE>E/*M!U@0>DD>LB#PDBQEF9?S^(D3]Q!"
M4YIY21S0+ R]U/=)9^Z%><J.Q#(>8AD_.Y;D4M7*UIJ=R!(KW]VCT!K)3JYD
M*Q>5'<W"H_N,Q_'#8"E;:W5;N7):*)15TV.P"'0?G:I=_FQ\KCNM811[+TNI
M08X7+.1>Y,<TB3V>)9APWPO"F'VVPDJ6>'X28.1)SB(OY-$0/(@'&9XE?L(H
M%L&@O!HS)4*LLXA%B1= (<]P\8%\(;&F'/"<@!)Q%IUBDGI^GF*2>F'$3S=P
M3L D/\?3T//CF,2\E./?+2C<^R$]#_T 8Q)#=MAD!]>\#Q[D$R_A&41A=12'
MF.30B.MH/. <P(J=EV+8[-B=>5%XE'_)P+_DV?Q[MUA(UPEWN7=#+KB18$51
MU96@?CG&ON.[4,'0>SJV[#)P<6>5?F"+33AV/*9I;ZN<X--Z(P>P@^3/59,M
M#1Z1.&4\F/KLY9-+3XB^,O!I@E_(PFF YZKX_HJ. "7RIZ%L[:WDTQ0"$0M\
M2+Z[+Z0QNUPP\$H-E259:0XI.>%3HE\\Y6Z,'JEG5*>+H6+Y#DV&:\2N5Z)=
MTC_L5M1=KT>08T1;D&3@I/WI4!A?P0OP)C'68FF%;K_5"P]V_4'I)*+=,1*>
M=.J?#MZC)F.<=ZBZ"%VLW*-2WN)PMVXH10OD@Z._TQ%,0S="TV51Z XZX ,M
M;:>!M/POSC>-*X6DYD\P0&_]X#L_P(0#"1/$L.XE"W(8A\CYB-/+(YF2#IF2
M/CM3AO2F#+DT1FYP?JS$' RWE31C27)T@\.MMMCK"V/)4&[QD"?$(Y[Z$0\3
M:&V[Z7$@)YXVUQ'--S^(<"&T?D KO1.Z=!TT\&*?T\1'=T[9^^H>"C?*XBQ@
MS@[^IB>"W(>-HLM]C$F:/H+1V+3MW+\AUJ,L)@G[<PTF6C0J5DLDT9Z6E$HV
M[9\D*5@S,'P# @T@RC%&27PXER,TI)":3XZV(]:5%77U/P?F@#LB[(JC1NA[
M/(PV'.9>GN<8@SQFOVEEQF.715X6^"S%(27F[-M(!I\$W M3UXW03-/DE'U1
M #2J+84$FFN<>T&:[$=TUT=[8=F&A)I=A&V>.->P5TS36PTQLC,;1Z(ZD7D
ME7GA7AN$(YO*4'H:ZJ.)0XYKXH\"WX6%YIBDKF*@XR>8_(&-QLQ\P1(."3JI
M1;$7X;WC2-9G0]9GS\[ZKRWUL&7KHDZ9?[6MXC=(*BJDQ/BQQ#^ZQ^'$'XY>
M,)/8VK\>8WOCJH![;:WLPVX3&:L.W2[NW>[SLR>ZKX<48K*LVI80ST7MB.JR
M/HXH_2F0=(S)O"S>LA\M1KML1;WHZ[@RE74\@<?7NL+C!X!$OTTXSMT#,;?)
M\]SEVW4#L3DH^!P,Q>:$26I8X 4\92EJ418E[*-8&\>,_NS@IG75H#+8#=/1
MXYYNW-/]8$SZ>IGEV?][;HS.LYWW^T;JI?N*89!O76O[5_WAZ?"AY++_/O H
MWG]E^5UH!,\@P1=8ZD]3O%'H_LM%?V/5VGTMF"MK5>.F*RG0_TD _R^4LML;
MVF#X?'3Q-U!+ P04    " #UB%98]U250&(#   W!P  &0   'AL+W=O<FMS
M:&5E=',O<VAE970S-2YX;6R-56V/VS8,_BN$-VPMH)YMV<[++0EP=^VV BUV
MN+0;AF$?E)BQA<J2*\F7NW\_RG;2%$C3?;$I6WSX\"%%+?;&?G(UHH>G1FFW
MC&KOV^LX=ML:&^&N3(N:_NR,;82GI:UBUUH49>_4J)@GR21NA-31:M%_N[>K
MA>F\DAKO+;BN:81]OD5E]LLHC0X?'F15^_ A7BU:4>$:_<?VWM(J/J*4LD'M
MI-%@<;>,;M+KVSSL[S?\*7'O3FP(F6R,^106;\MEE 1"J'#K X*@UR/>H5(!
MB&A\'C&C8\C@>&H?T'_M<Z=<-L+AG5%_R=+7RV@608D[T2G_8/:_XYA/$?"V
M1KG^"?MQ;Q+!MG/>-*,S,6BD'M[B:=3A_SCPT8'WO(= /<O7PHO5PIH]V+";
MT(+1I]I[$SFI0U'6WM)?27Y^M<:*)/8@= F_H:FL:&NYA1LJ,+S50]&#>B\^
MB(U"]W(1>XH:?./M&.%VB,"_$2'E\-YH7SMXHTLLOP:(B>Z1,S]PON47$5_C
M]@JRE %/>'8!+SMJD/5XV7<T>,#66"]U!?_<;)RWU#'_GLMW0,O/HX53=.U:
ML<5E1,?$H7W$:/73#^DD^>4"U_S(-;^$OEK3J2P[A6!VQ/<1=8>PLZ:!-T\>
MK18*[OJF0>OZFKXSNGKUCAJ_A!OGT#L&F^>32I-#J+4[E^=%)N?S/%"B&-67
M;A(4@?6'IP3J)5_CV-IH?W:PD4H%T459$@X1E$3=P<XHFACN&OY&88?> :H\
M-ANTQ^J'!P^/%%[(@&PZ1VF[E_!12T\>:R\\.O@1LHRS+"W(XG/.^#P-5L%9
MSF= YYM.KP;..4OS#-+YE.49A[28L6F>PP?C22<[Y!; BB)G>3$C*Y_-V91X
MD)6F+)WR07'5*RY&Q?<D0@U;0Z/,^5"Y>TM3U?KGOD3XN9-M:$ &&H>3^ ?]
M%7TG*JH-A7P%-HR7X-LY'(#9697I^95ZWY#L.VKEG$UH%V5*"DP+&@6E%#!G
M\X)4F;"DF%+W#;G0U%4ED)#I!"8LRV>C7"<Z#)T7T'(VGR=DS$BK60+G#D1\
M,LRH0:I^9#M2K]-^F&O'K\=;X688AE^V#U?*>V$KJ1V)N"/7Y&I:1(..AX4W
M;3\:-\93-_9F33<;VK"!_N^,\8=%"'"\*U?_ 5!+ P04    " #UB%98QF?0
MN\@#   !"0  &0   'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6RM5MMNXS80
M_96!=K'8!53K:LGVV@9R*[H/&P1QVJ(H^D!+8YL(1:HD%2=_WZ$D*V[J&/O0
M!UN\S.7,S!F-YGNE'\T.T<)S):19>#MKZUD0F&*'%3,C5:.DFXW2%;.TU=O
MU!I9V2I5(HC#, LJQJ6WG+=G=WHY5XT57.*=!M-4%=,OERC4?N%%WN'@GF]W
MUAT$RWG-MKA"^VM]IVD7#%9*7J$T7$G0N%EX%]'L<NSD6X'?..[-T1I<)&NE
M'MWF6[GP0@<(!1;666#T>,(K%,(9(AA_]S:]P:53/%X?K/_<QDZQK)G!*R5^
MYZ7=+;R)!R5N6"/LO=K_@GT\+<!""=/^P[Z7#3TH&F-5U2L3@HK+[LF>^SS\
MB$+<*\0M[LY1B_*:6;:<:[4'[:3)FENTH;;:!(Y+5Y25U73+2<\N;ZGNWV2A
M*H0[U+#:,8WP^8&M!9HO\\"2"R<8%+VYR\Y<_(ZY*(;O2MJ=@1M98OEO P%A
M&P#&!X"7\5F+UUB,((E\B,,X.6,O&0).6GO)._9NF)9<;LU1N']>K(W5Q(^_
M3@7<F4M/FW,],S,U*W#A45,8U$_H+3]]B++PZQFPZ0 V/6=]N:(>+!N!H#;P
M7^ ^7#+#"V"RA&LN&OLVX5T 9UV<#N!AAT"<J!O+7.\8H.YWY.^=E9TSD$0>
MWI&G)E"FS6;[<QJ"&M[,X ]DNF,#4"VQ6I/DH9[N+W9_$7SF$NQ.-88<&!_P
MN<#:'IDMB=U?X+:I4#.K] QN7YU_A&@<^>/IV*W"W)].8UKEH3_-0G(J%35.
MI]0E;-_V*@%B3V1MBYT+ TGF3_(I)!,_'2>03/TP">%FLZ$WB*M K2Q*RYD0
M+UT*Z'W2J\Y@957Q"*KN\I5.8LCR&"99 O=([.*%\V=:H49R:R!.<HBC#.(X
MA9NJ%NH%L1>H&UWLZ%4#M6 24D@@.A3X?>RYGX6Q YVD*:2A'T63XQP-F3PD
MX2.DHRBB1SR:N$<T(LP'+^XR3-K+/&TO\QS.$'H\$'K\PX2^H%P.:5QAT6AN
M.45R\UR(QM%EHU4%5Z\T/-T%IRA_'L3=^W4$J=J,=0!:2E(G,%$T8H!PEOUK
M+%A#E2L5H02C:"@UHJ1C:AS+?QK<_1]=\N4-Z7(B6S;)8)RD[Y$N2D.8AI!%
MYRF7PQ@^?9C$4?P5'I1EX@WZ/EG3*(2<R$.==XH;P=%8HK;=ML/7T(NED;:;
M4,/I,-\ONK'V*MY]''QG>LLI1($;4@U'.558=P.WVUA5MT-NK2R-S':YHV\4
MU$Z [C>*BMYOG(/AJV?Y#U!+ P04    " #UB%98$Z>R2>(&  !O.0  &0
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
M\YYRX'F9GC<D6V65[I1)53=GEZ'ZM &N!ZC[<\;D2T,7S^7'DO\/4$L#!!0
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
M($T OI\*H1\'II6L_SI$_P%02P,$%     @ ]8A66&3VN;HB P  H @  !D
M  !X;"]W;W)K<VAE971S+W-H965T-#0N>&ULK5;!4MLP$/T5C<MT8 9P[#@.
MH8EG$ERF'"@, 7KH]*#8&UN#+:62G$"_OBO;<9-@4@Y<$DE^[VG?2M[U<"7D
MDTH!-'G.,ZY&5JKUXMRV591"3M6I6 #')W,A<ZIQ*A-;+230N"3EF>UV.KZ=
M4\:M8%BNW<I@* J=,0ZWDJ@BSZE\F4 F5B/+L=8+=RQ)M5FP@^&")C %_;"X
ME3BS&Y68Y< 5$YQ(F(^LL7,>^@9? AX9K-3&F!@G,R&>S.0J'ED=$Q!D$&FC
M0/%O"1>0948(P_A=:UK-EH:X.5ZK7Y;>T<N,*K@0V0\6ZW1DG5DDACDM,GTG
M5M^@]M,S>I'(5/E+5C6V8Y&H4%KD-1DCR!FO_NESG8<-@N._07!K@KM+\-X@
M=&M"][T$KR9X968J*V4>0JII,)1B1:1!HYH9E,DLV6B?<7/L4RWQ*4.>#BXI
MD^219@40,2>7C%,>,9J1*ZZT+/!\M2(G9)R+PHSN(!()9W\@1@"9:JK!0 SU
M9@&2FJ-4Y# $35FFCI#Y, W)X<$1.2",D_M4%(KR6 UMC;&;".RHCG-2Q>F^
M$:?CDFO!=:K(5QY#O"U@H^G&N;MV/G'W*H80G9*N<TS<CMMM">CB_72WA1Z^
MG^[L<=-MSK%;ZG7_?XXA4U$F5"%!D9_C&9XCOER_VE)>27KMDJ;@G*L%C6!D
M8451()=@!9\_.7[G2UNZ/E(L_""QK51Z32J]?>K!=RRVAYA !7B#$ZR<BLRE
MR D7_"0&Q1*.USXF6')75,8DPFMI,MQZJ:N=>N5.I@(O@Q-G<#:TEYN9>PWJ
M=0;=;5#X&N1Z/;<!;3GM-4Y[>YW>Z!2D,8+5D6.UD1)X]$+0#E<TJE[F*A%M
MWBIM?].;-QCL>&L!^6>^MV.N!>7VO4&[.[]QY^]U=R\T%K*U.WB.4LH3J T=
M$PZZS97_^L3\07_'50O(Z?>='5<M*'=#JC)E;]3N'&12]D"%MPH+;E7,FM6F
MS8[+[K*S/L'V6W7+?S)5[[ZF,C&W.(,Y2G9.^QB2K/IA-=%B47:(F=#8;\IA
MBI\0( T G\^%T.N)V:#Y* G^ E!+ P04    " #UB%98?PQMCN<%  "$'P
M&0   'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6R]66UOHT80_BLK]U3EI'/,
M+F @=2PEIE4C]7K1Y:[]4/7#!M8&'; NK..TO[[+2\ LPR91T'U)C/W,,,\L
M,_,LNSKR_%L1,2;08YIDQ>4L$F)_L5@40<126ISS/<OD+UN>IU3(RWRW*/8Y
MHV%EE"8+8AC+14KC;+9>5=_=YNL5/X@DSMAMCHI#FM+\WVN6\./E#,^>OO@<
M[R)1?K%8K_9TQ^Z8^+J_S>75HO42QBG+BIAG*&?;R]D5OO!-HS2H$'_$[%B<
M?$8EE7O.OY47-^'ES"@C8@D+1.F"RG\/;,.2I/0DX_BG<3IK[UD:GGY^\OY+
M15Z2N:<%V_#DSS@4T>7,G:&0;>DA$9_Y\5?6$+)+?P%/BNHO.C988X:"0R%X
MVAC+"-(XJ__3QR81)P9X.6) &@.B&E@C!F9C8+[4P&H,K"HS-94J#SX5=+W*
M^1'E)5IZ*S]4R:RL)?TX*]?]3N3RUUC:B?55$!S20T(%"]$G$;$<;7@JGZ"H
M7-H'AFZR@*<,G?W&B^(]FJ/7X<]\)FB<5)9?[WQT]NX]>H?B#'V)^*&@65BL
M%D*R*&-9!$W$UW7$9"1B3-!'GHFH0#]G(0O[#A:2?IL#\I2#:Z+UZ+/@')GX
M R(&,8& -B\W)X"Y_W)SK&%CMBMJ5O[,L17]M+E!5T+D\?U!T/N$(<'1+<U9
M)CZ@WV4GX5OTA3ZBOS[S)$&R>(XT#_^&UJ&^CP7?IVQ(%\6>!NQR)M>_8/D#
MFZU__ $OC9^@'$[IS)_(62^_5IM?2^=]?<UV<9;%V4[VFX1F 8-25[NP*Q=E
MZWU8$]?#Q%LM'DZ3,H19YM+!5A_F S##LES2PGI$[):(K26RB6BV8V4U'C(Y
M,I+X/UG3.SDJ"G26R/)ELFS#0UXRE86.]BR/>0B1K6^S/ D/6]Y2H3H$S;'K
M8H7I$.6Y)DQSV=)<:FE>I?R0"3FC@H061;R-)<LXDS41UZWJ11270/2>8RH<
M(12V'(7C$.79-LS1:3DZ6HYE/;/M5LY2*'AG<$.'&$KH $9]"H>0N75"KA>X
MVP;N:@.O1TC0&R'-NE3/X/L/**M;EJ"/$#=W$!2QU&498N;$LU5Z0Y1\BC%,
MSVOI>5IZ<D(]TRB\P5W-I8O5W&^&,*B?^$.8TD]Z++#1B01#_WQQ01-P5&OM
M7CLC)O7F3^6MG[,3886_TQQN;C15DJ?TYD_EK9]DTB69O'T8-SZ4[JWVY0T
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
M=R1--9+B\;T!M=IKZL3^^!G]?56\*N8!"W+'TK]H(G=+*[1 0K:X3.5G=OA
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
MPI>G"Z!3X'J"NC]C3.X&>@^RWD(>_P%02P,$%     @ ]8A66#ED;[DO P
M2PT  !D   !X;"]W;W)K<VAE971S+W-H965T-3$N>&ULM5==;]HP%/TK5E9-
MK;0UWQ]T@%1(IU5:)536]6':@X$+B9K8S#;0_OO93D@#31&MTA=B._<<GWN<
M:^SNAK('G@ (])AGA/>,1(CEA6GR:0(YYN=T"42^F5.68R&[;&'R)0,\TZ \
M,QW+"LP<I\3H=_78B/6[="6RE,"((;[*<\R>!I#13<^PC>W ;;I(A!HP^]TE
M7L 8Q-URQ&3/K%AF:0Z$IY0@!O.><6E?Q+:E #KB=PH;7FLCE<J$T@?5N9[U
M#$LI@@RF0E%@^5C#$+),,4D=_TI2HYI3 >OM+?MWG;Q,9H(Y#&EVG\Y$TC,B
M \U@CE>9N*6;'U FY"N^*<VX_D6;,M8RT'3%!<U+L%20IZ1XXL?2B!K #EX!
M."7 V0=XKP#<$N >"_!*@*>=*5+1/L18X'Z7T0UB*EJRJ88V4Z-E^BE1ZSX6
M3+Y-)4[T;V$-9 5HSFB.AI0()E>"H_M4)&BHIP?&T5>TC9L\H3'.@*-A@@F!
M#)W&('":\3,9=#>.T>G)&3I!*4&_$KKBF,QXUQ12J)K.G):B!H4HYQ51MH-N
MI)2$HRLR@]DN@2DSK-)TMFD.G(.,,4S/D6M_08[EN V"AL?#G09X?#S</I"-
M6RV:J_G<8Q;MZE$ (SBKE@O]^2GCT;6 G/]M,K\@]YK)U49SP9=X"CU#[B0<
MV!J,_N=/=F!]:S*N3;*X);(=4[W*5.\0^];4QL^U0/H:J7;2==_W/<^/NN:Z
M[L7+,"_JA.J#JX?%#6&V;8=.%;:CWZ_T^P?UQRF3>VF3^H.XMZYWFV1Q2V0[
M?@657\%'%E'0IJEMDL4MD>V8&E:FAN\NH@(9U#Y[U_8ZT7X1O0QS(M^-G+TB
M:@CS7#?J-!=15.F/#NH?828(L";Y!X%O7? VR>*6R'8,ZU2&=3ZRBCIMFMHF
M6=P2V8ZIMO5\*K/>74<EM/[_X;@=+[3V"JDISO)<S]ZKI(8X.PC#R-TK);-V
MRI1KN]"G=8ZF=$5$<1*K1JL;P:4^!^^-#]1-09]>GVF*:\8-9HN4<)3!7%):
MYZ$4Q8J3>]$1=*G/LA,JY >FFXF\[0!3 ?+]G%*Q[:@)JOM3_S]02P,$%
M  @ ]8A66-&0UVI> @  [ 4  !D   !X;"]W;W)K<VAE971S+W-H965T-3(N
M>&ULK51=;],P%/TK5IC0)HWELZ.,--*6"HT'8%H9>T \N,EM8\VQ@^VV@U_/
MM9.E[<BF(?&2^#KG')]S8SO=2'6G*P!#[FLN],2KC&G.?%\7%=14G\@&!'Y9
M2%53@Z5:^KI10$M'JKD?!<&I7U,FO"QU<U<J2^7*<";@2A&]JFNJ?ET EYN)
M%WH/$]=L61D[X6=I0Y<P W/37"FL_%ZE9#4(S:0@"A83[SP\RQ.+=X!O##9Z
M9TQLDKF4=[;X6$Z\P!H"#H6Q"A1?:\B!<RN$-GYVFEZ_I"7NCA_4/[CLF&5.
M->22W[+25!-O[)$2%G3%S;7<7$*79V3U"LFU>Y)-APT\4JRTD75'1@<U$^V;
MWG=]V"&$R1.$J"-$+R7$'2%V05MG+M:4&IJE2FZ(LFA4LP/7&\?&-$S8OS@S
M"K\RY)GL&M8@5D 62M8DE\(H;*PFM\Q4)'?+@]+D#<EIPPSE[#>4"-.&&$F^
MS UNDRWK&!E*@3"$BI)\EJ+HRL,I()+K(Q2ZF4W)X<$1.2!(_5K)E4:P3GV#
M8:PEO^B,7[3&HR>,3Z$X(7%X3*(@B@?H^<OIT3[=QQ;V?8SZ/D9.+_Z7/N*_
MW&DC^7X^UV[^QU#<5C\9UK>'^4PWM(")AZ=5@UJ#E[U^%9X&[X?"_R>QO5;$
M?2OBY]2S;A,,96R)(T>T]\LZ&XU'X]1?[WH?  7A%K3G*>D])<]ZVF[&(5O)
M7RN&X3A)'OD:0 7!N^"1,7_G+-I[\!-52R8TX;! 7G#R%@54>[>TA9&-.YYS
M:7";N&&%US$H"\#O"RG-0V%/?'_!9W\ 4$L#!!0    ( /6(5EBK@=FEM04
M *4P   9    >&PO=V]R:W-H965T<R]S:&5E=#4S+GAM;+6;:V_B.!2&_XK%
MCE:MM$,N7-L%)""QIM)46TTU.UJM]H,;#$23Q(QMH$C[X]>YD& :7#(Z^V5*
M0LX3)P^)[3>9T9[Q[V)-J42O<92(<6LMY>;>LD2PIC$1;;:AB?IFR7A,I%KD
M*TML."6+K"B.+->V^U9,PJ0U&67KGOADQ+8R"A/ZQ)'8QC'AAQF-V'[<<EK'
M%5_"U5JF*ZS):$-6])G*KYLGKI:LDK((8YJ(D"6(T^6X-77NL=M/"[(M_@SI
M7IQ\1NFAO##V/5UX6(Q;=MHB&M% I@BB_NSHG$912E+M^%% 6^4^T\+3ST<Z
MS@Y>'<P+$73.HF_A0J['K6$++>B2;"/YA>T_T>* >BDO8)'(_D7[?-ONH(6"
MK9 L+HI5"^(PR?^2U^)$G!0XW0L%;E'@7EO0*0HZYP6]"P7=HJ![5N!>VD.O
M*.A=6] O"C*95GZRLC/M$4DF(\[VB*=;*UKZ(=.55:L3'";I+^M9<O5MJ.KD
M9!K\V(8B3"T+=.-12<)(W**/Z.NSAVX^W*(/*$S08QA%Z18C2ZI]II564/"]
MG.]>X#OHD25R+9"?+.A"K[=46\L&N\<&SUPC\(] MI'=_0VYMNO6M&=N+I]N
M5VWDW&7E3MWA7%'><2[NW3>7>S0HRSLUY?CZ<M=P+CNE_$[&ZU[D[=2M94,7
M2-)@G;"(K0XUK9H9*>F][UYL2$#'+75S$Y3O:&ORZR].W_Z]S@\DS(.$^9 P
M# 33O'9+K]V,WKG@=;85:HT0Z.3J1G]_5NO0@Z2Q^*=.<A=2,B3,@X3YD# ,
M!-,D]TK)/>/%^RWK--6U.]U1K@8!Z'.XI.CF+TJXN*T3;,0U%6QN6P\=TF;4
MR81LA6]N13=O!1J@..^#^FA!#G6MP@ @36*_E-@WDA\229)5^!)11(2@4JBA
MEKID^7E7F1LTLIH:S&%.?@])!Z"[B=-6O<KNU!;D'GU(& :":=8&I;6!T=H3
M.:C!M9(EV=&7&B4=3=;]P&9&8%-U@SIUSIFZFHWL\XU\R&9A()BF9%@J&1J5
M3-75$ZN3O\AF,FK&%= Z#49(4PV0, \2YD/",!!,TWI7:KV#'\G<04J&A'F0
M,!\2AH%@FF3'KB:A-NQ8QLQKZAB4YH'2_'?.G'MQI(5_IE+W=Q(B.$;6+-I2
M](F^DI6Z/!^2H%:9$=%8&23- Z7YH#0,1=/5NI5:%_X.7#"A7$/2/%":#TK#
M4#3==14'.>8\:,X2$2[4'3B3+#E)Q)+R"Y.1@M4['83:^O!R;MY?8W.@:0\H
M#4/1='-5X.,8HX9J1J)&OL5,LM993G&Z)]*&[=ZY-=#T!I3F@](P%$VW5B4X
MCCE7T*^W#3D0-8.I]=:KF_&]\0:9K7B@-!^4AJ%HNK<JM'',J<W9?9+RV"C/
M#'.&1:I4V_5!9B8>*,T'I6$HFJZT2G0<<Z3CT;RG0YSN:*)&LZ8<SJD-8+KG
MER-DN.*!TGQ0&H:BZ>ZJZ,=Y)_LY&9ER&I%T(ADP<:$+'+[M NUV_]P=:+8#
M2O-!:1B*IKNK\AW'F"R\F3FB?]&U3R7-Y,:3#-"@!Y3F@](P%$U_?%]E/:X-
M/Z%T0?,>4)H'2O-!:1B*IKNN<B'7G OA, DE_1B%.W4UGSPA,?:N!5/O7=^.
M=LV[;BP1- $"I6$HFBZQ2H!<8^K0/)Q]AW?YX?#<7-G8*6C2 TK#4#3=:97T
MN.:DIZ;;O?()FAG<^$X,&A"!TGQ0&H:BZ<*K@,C]'UX)<D'?"0*E>: T'Y2&
MH6BZZRI6<LVQTL_UNC41D_UF3FO><V.'H!$3* U#T72'5<3DFE.AYIVNF7?Y
M.>'<7-G8*6C&!$K#4+3<J77RUG5,^2I[/UZ@@&T3F;^ 7:XMW\&?9F^>6]7F
M^0O\CX2OPD2@B"Y5J=T>J!\?S]^)SQ<DVV3O<+\P*5F<?5Q3LJ \W4!]OV1,
M'A?2'93_,V'R'U!+ P04    " #UB%98DYE3TV(%  #F(0  &0   'AL+W=O
M<FMS:&5E=',O<VAE970U-"YX;6RU6FUOJD@8_2L3]F;3F[2%&1"PJR:]DIO;
MI+MIVON2S68_3'%4]@+C,J.V^^MW!BD(CJ-2_-**/,_Q.0><<P ':YK]9'-"
M.'A)XI0-C3GGBQO39.&<))A=TP5)Q9XIS1+,Q68V,]DB(WB2-R6QB2S+-1,<
MI<9HD+_WD(T&=,GC*"4/&6#+),'9ZR<2T_70@,;;&X_1;,[E&^9HL, S\D3X
MM\5#)K;,$F42)21E$4U!1J9#XQ;>!,B7#7G%]XBLV=9K(*D\4_I3;MQ-AH8E
M)R(Q";F$P.+?BHQ)'$LD,<>_!:A1?J9LW'[]AOXY)R_(/&-&QC3^$4WX?&CX
M!IB0*5[&_)&NOY""4$_BA31F^5^P+FHM X1+QFE2-(L)DBC=_,<OA1!;#<C9
MTX"*!G1L@UTTV(T&N*_!*1J<7)D-E5R' ',\&F1T#3)9+=#DBUS,O%O0CU)Y
MW)]X)O9&HH^/[E*.TUGT'!-PRQCA[!+\(<ZV*S#&6?8:I3/P'<=+ N@4[)2"
MBX!P',7LHZC_]A2 BP\?P0<0I>#KG"X93B=L8'(QI/PH,RP&^K09".T9*"#A
M-;#A)4 6LA7MX^/;D:(]T+??+F?7 /;S=EAO-X6RI;RHE!?E>/8>O,]1&G%R
M=2_.[8E"P+_N13VXXR1A?ZNDVH [:G"Y)-RP!0[)T!#?>4:R%3%&O_X"7>LW
ME7!=@@4=@=5$M4M1;1WZ:$P95ZFUZ>KE77*]6XT<Z/O>P%QMRW!45:"=H"4_
MI^3G:/G=AN$R6<:8BW/F-J$9C_[#<I%4<=X@N5MLKFR$(&J05I2A/D1N@[5V
MKI:L>R7KGI;U5\IQ#,C+0CB"(#Y=\F5& -[BG^],&5'IT-LAV'>]7D.%W2*(
M/!<V1-".V5($MQ3!U8JPM43@S1*14BY,^?D?H0K@M*:'2@=WAZ)C-50X7!)H
MAVPI@5=*X)TFP25(B?+[[NU\D_L>;![SW2*(?*MYS+4CM23LEX1]+>& K$3\
M6HASGI-PGM*8SEY5=+4HIYI!EV!!1V U]?JE>OUS.FR_2U&[! LZ JN)"JTJ
M%EK:D_)''IBE :U()BX P'TT)>#B3X(S]E&9ZO1X#GB5K< #"4WYG $73/"K
M*A^..T,*#B#U-D@ZO;9B-#Q-KT<BK[ID@#ZHG!X9YE,"N*&KT^TH'.=--N3L
MUTV+U/;<JS(SU*;'O?FN:*M%-PLZC;5\?%Q9H!^B+<DJPT)]B#TEY!50]91G
MN6XSVJKJD.>[37O7C]:6>A5OH3[?OB_I%> UVW<\IRG%;A5$R-\Y"<Z1>&$5
M>:$^\SZ(PY]R$$>A9*N^6NXHCA:R=(D6=(565Z_*RM ]I_7#CE)NH6R7:$%7
M:'5EJP@.]1G\=/?7XT%'9;6%<*U; WUK6Y6JW [UP?T]GJ]']M],&J+]=J^'
M*.S^"*1 C]16QBK 0VV4W6_W_=TEW-ZYG7-45: ?H25%5*5II$^:IYA] 54S
M<6BCYAT=91E"38/3#]:6>!6+D3YTOL_J"_#M8^LVK^\5-=!MWM?23]E6A:V;
MP/I *PTI$<XTR1^"3&D6JNEV>[NWV_N]YTC+J$K+R#[K??2. F^A;)=H05=H
M=66K,([T8?QDJS^ A_8[?>O.0-_95J,JIB-]3'^'T1] [I?V[.\U^@,0)QB]
M'JFMC%5>1_J;V_N,OFC;7L+M7K^YSA]1%.@':$NPBLU(GU5/LGE/<:TNGWC6
M62NJG%Z3]3EB,*IB,-(GS7=ZO*_(;VY3AMTB&SI-&3J-L>;6,W7Y"XC?<3:+
M4@9B,A7PUK4GALDV/RK8;'"ZR!^S/U/.:9*_G!,\(9DL$/NGE/*W#?GDOOQI
MQ^A_4$L#!!0    ( /6(5EAD-S0>?@(  *<&   9    >&PO=V]R:W-H965T
M<R]S:&5E=#4U+GAM;*U576^;,!3]*U>LFEJI"P&2=.H2I*3LHP^=JD;='J8]
M.' 3K!J;V4[H]NMG&\)H1Z(^] 5\[7O._<*':27D@\H1-3P6C*N9EVM=7OJ^
M2G,LB!J($KDY60M9$&U,N?%5*9%D#E0P/QP.)WY!*/?BJ=N[E?%4;#6C'&\E
MJ&U1$/E[@4Q4,R_P]AMW=)-KN^''TY)L<(GZOKR5QO);EHP6R!45'"2N9]X\
MN$Q&UM\Y?*-8J<X:;"4K(1ZL<9W-O*%-"!FFVC(0\]KA%3)FB4P:OQI.KPUI
M@=WUGOV3J]W4LB(*KP3[3C.=S[SW'F2X)ENF[T3U!9MZQI8O%4RY)U2U[_C"
M@W2KM"@:L,F@H+Q^D\>F#QU ,#D "!M ^!PP.@"(&D#T4L"H ;A6^W4IK@\)
MT22>2E&!M-Z&S2Y<,QW:E$^Y'?M22W-*#4['UUP3OJ$KAC!7"K4ZAZ_F8SM-
M4!/*U!F\@_ME J<G9W "E,,-9<S,2TU];:);#C]M(BWJ2.&!2$$(-X+K7,%'
MGF'VE, W:;>YA_O<%^%1Q@33 43!.83#,.I)Z.KE\+ 'GKP<'ARI)FHG$3F^
MZ #?9R&RRG07",_@O[% 0E7*A-I*A!_SE=+2W)B??5.HHXSZHU@5N50E27'F
M&9E0*'?HQ6_?!)/AA[X.OB99\DID3[H[:KL[.L;>_<Z);2B00DA-_Q"K/GUM
MK.F">EI6/'=Q-#!SWG7;T^,T'EP\=4IZG"8=I[H<OW.%"Y0;)X4*4K'ENKX1
M[6ZKMG,G,L_V%T:%:]'\1U-+^ V1&\H5,%P;RN'@8NR!K&6Q-K0HG5"LA#:R
MXY:Y^9.@M [F?"V$WALV0/MOBO\"4$L#!!0    ( /6(5EB75XVTM0(  $4(
M   9    >&PO=V]R:W-H965T<R]S:&5E=#4V+GAM;*V676^;,!2&_XK%JJF5
MNO(5H.T2I#19MUYLBOJQ74R[<. D6#4VLTWH]NMG T%I0M,JVDVPS7E?/^<$
MCAE67#S*#$"AIYPR.;(RI8I+VY9)!CF69[P IN\LN,BQTE.QM&4A *>U**>V
MYSBAG6/"K'A8K\U$/.2EHH3!3"!9YCD6?ZZ \FIDN=9ZX98L,V46['A8X"7<
M@7HH9D+/[,XE)3DP23A# A8C:^Q>3B(37P=\)U#)C3$RF<PY?S23FW1D.08(
M*"3*.&!]6<$$*#5&&N-WZVEU6QKAYGCM?EWGKG.98PD33G^05&4CZ]Q"*2QP
M2=4MK[Y FT]@_!).9?V+JC;6L5!22L7S5JP)<L*:*WYJZ[ A< <O"+Q6X+U5
MX+<"OTZT(:O3FF*%XZ'@%1(F6KN905V;6JVS(<S\BW=*Z+M$ZU1\PQ1F2S*G
M@,92@I*GZ)M^=CZ@3T^%KC2D:)QSH<A?7%?=K#()B#!T7:I2 )J!(#R5Z'@*
M"A,J3[3VX6Z*CH].T)&)N\]X*3%+Y=!6&MAL:R<MW%4#Y[T -X7D#/GN*?(<
MS^^13]XN]Y[+;5VFKE9>5RNO]O-?\/O,>5H12I'.!NT4#DV)3"B7IB@_QW.I
MA'Y$?_4EW>PRZ-_%O+:7LL )C"S]7DH0*[#B]^_<T/G85X+_9/:L('Y7$'^?
M>ZSK.NA+L%$%M<JTD57L73@Z<K4)OM?Z0/!!!SYX#3SH V]4X29X$(1;X'NM
M#P0/.O#@-?"P#SS8!1]$T1;X7NL#P<,./'P-/.H##W? W<@_WP+?:WT@>-2!
M1WO![[G"%,&Z&RZ:KH<WFR(T3;$OO6CG3;@(HV KO=T@UXM"MXMJN.V-)F\.
MV*]8+ F3B,)"ZYRS2!N(YM!J)HH7==^?<Z5/D7J8Z7,>A G0]Q><J_7$'"7=
MET/\#U!+ P04    " #UB%98"I3C36D"  !]!@  &0   'AL+W=O<FMS:&5E
M=',O<VAE970U-RYX;6RM5=]OTS 0_E>L,*%-@J;YL3)&&VE=0"!1J%8-'A /
M;G)MK#EVL-UV_/><[31T4U;M82^)?;[ON[OOXLMX)]6=K@ ,N:^YT).@,J:Y
M#$-=5%!3/9 -"#Q92553@UNU#G6C@)8.5/,P'@Y'84V9"+*QL\U5-I8;PYF
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
MQ/F#MTB@FK;43(RLW,U>2X-]P@US[.2@; #N;Z0TQXEM%MV_(?D%4$L#!!0
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
M?".G,[WBZ(=>U>5MG(RZ73G9%/,*,;@-RKUPA^V@H%N7L*X1U5-19N) E8=
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
MH#) /%\3PI]OY 1U_W?^ U!+ P04    " #UB%98_UG<7+ %  "9,0  &0
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
M%B(I%LA_OXSC[/U&,<#ANIVW_P-02P,$%     @ ]8A66. X&%A& P  P@L
M !D   !X;"]W;W)K<VAE971S+W-H965T-S N>&ULQ5;;;MLX$/V5@;;HMD 2
MR?*UJ2W MK+8 MLV2-KN0]$'1AI)1"12)2D[^?LE*46U8UE( 0/[8O$RYW#F
MS)">^9:+>YDA*G@H<B873J94>>FZ,LJP(/*"E\CT3L)%092>BM25I4 26U"1
MN[[G3=R"4.8$<[MV+8(YKU1.&5X+D%51$/&XPIQO%\[ >5JXH6FFS((;S$N2
MXBVJK^6UT#.W98EI@4Q2SD!@LG"6@\MP9NRMP3>*6[DS!A/)'>?W9O(A7CB>
M<0ASC)1A(/JSP37FN2'2;OQL.)WV2 /<'3^Q_V5CU['<$8EKGO]+8Y4MG)D#
M,2:DRM4-W_Z-33QCPQ?Q7-I?V#:VG@-1)14O&K#VH*"L_I*'1H<=P&!R!. W
M /\Y8'0$,&P PY<"1@U@9)6I0[$ZA$218"[X%H2QUFQF8,6T:!T^92;MMTKH
M7:IQ*KA5/+K/>!ZCD'_"U<^*JD<@+ :[<6XDC6'-"UUFDMA,G<,G(@0QZ8(W
M(2I"<_E6KWZ]#>'-J[?P"BB#+QFOI*:1<U=I+\U9;M1XM*H]\H]X-/#A(V<J
MDW#%8HSW"5P=7ANC_Q3CRN]E##&Z@.'@#'S/'W8XM'XYW.^ AR^'#WJB&;89
M&UJ^X;&,943@^>HP,4N=%9:BOI,*[AYAU^Z:/-KEY9:(&+[_HRGA@\)"_NC*
M3WW^J/M\\PY=RI)$N'#T0R-1;- )7O\QF'CON[0])5EX(K(]W4>M[J,^]N!S
MDJ"@+(52?WA\!H6MTBX!^XDFQY'K7N3OJG4BLCVUQJU:X]X@.ZOO5X&>P=4#
MBHA*!)[ Y](4\!E\(0^P0H8)55VRUB>.[8GF[VP3C-]YWMS=["IX:#3UGAN%
MAT:C7::]B"=MQ)/>B&]0*D$CI0.6YNV$BE'561Z]/+][OTY)%IZ(;$^_::O?
M]']^UZ:GU/V49.&)R/9TG[6ZSWKK=IFF E.B$!)"!6Q(7B%L=#$__^^M19P=
M7L+Q]. 6'EJ-A@=W->S@>C<^N(?N3G=3H$AMER@AXA53=1/0KK:-Z-+V7\_6
M5[I!K?O)7S1U=_N1B)0R"3DFFM*[F&J?1-TQUA/%2]M#W7&E.S([S'23C<(8
MZ/V$<_4T,0>T;7OP'U!+ P04    " #UB%98^X7E4QD$  "P$0  &0   'AL
M+W=O<FMS:&5E=',O<VAE970W,2YX;6S%6%UOVS84_2N$5FPMD%B?_DAF&W"B
M%"O0 D:RI@_#'ACIVB(BB2I)V_&_'TG)LBW+K&MXVXLM4O<>WG-(7EURN*+L
ME2<  KUE:<Y'5B)$<6O;/$H@P[Q#"\CEFQEE&1:RR>8V+QC@6#MEJ>TY3L_.
M,,FM\5#W3=EX2!<B)3E,&>*++,-L?0<I78TLU]IT/))Y(E2'/1X6> Y/(+X6
M4R9;=HT2DPQR3FB.&,Q&UL2]#=U .6B+9P(KOO.,%)472E]5XU,\LAP5$:00
M"06!Y=\2[B%-%9*,XWL%:M5C*L?=YPWZ1TU>DGG!'.YI^HW$(AE9 PO%,,.+
M5#S2U1]0$>HJO(BF7/^B567K6"A:<$&SREE&D)&\_,=OE1 [#F[OB(-7.7A-
MA^"(@U\Y^*<Z!)6#EMHNJ6@=0BSP>,CH"C%E+='4@Q93>TOZ)%?S_B28?$ND
MGQ@_"1J])C2-@?'?T,/W!1%KA/,8Z1?72M(8W=-,KC..]4Q=HX>L2.D:H+1!
MTP6+$FF'IBG.K] S3A>EY83+U52H1X[>AR P2?D'Z?\.V8@GF $?VD)R4)'8
M417O71FO=R1>UT-?:"X2CA[R&.)] %N2KQ7P-@K<>4;$$*(.\MTKY#F>WQ+0
M_>GN7HM[>+J[:V#CU_/I:SS_V'PJ7:_O#J=MPAC.YR"WK$ O:[1K-\5KW3U9
M81:COSY+2/1)0,;_;IN?<OR@?7R5IFYY@2,863(/<6!+L,:__N+VG-_;M+TD
M6'@AL#W=@UKWP(0^_J83C!03+X')A(GF4FZ!8BP S3!A:"FW!:#W)$=?GT)4
M "NWP(<VB<NA!GHHE;B7X^"FXPR&]G)7NT.KKM/QO7VKL 7+[:B%OFQAVZW9
M=HUL0[(D,<@LL2:0QFT42G^5)NMQG4;\/S8)C29[D??JR'O&R/],0&\U8Q)K
M(V2$_=EE?TFP\$)@>W+V:SG[_W.ZZ5]2]TN"A1<"V]-]4.L^^._2S> @1?A!
MI]O8K2U&-QTW:&Q88]1G:G)3:W)CU.3AK9#%I-1$ ,LT]35@QELIFY%Z*-,U
M1ML2.MLS-'J>J8WK;.L\QQC9,TWESDQE>7>EZDB2+;+6ZLMI2;D=O[$8-E;=
M/:O =1O+P1S3N9QW:EOW=,[X[2AGMY6-W_S@MMMUG0/6QJC.9>UM67M&UH^$
MOU[/F/RTD5QN!> ",9D7S-/NM4V[TTP"&[-]!1RGWU3 &.&Y"FQK8-=8ZAD4
M,"P"OY5:]T""=CO_8!'\&]6HNRU'77,]^N,*K0(PEF@GV(3F0'Z6J+USE,V
MS?65 $<17>2B/-/5O?6UPT0?MAO]=^HZ0A^1MS#E7<87S.9$'DE3F$E(I].7
M4\G*ZX&R(6BA#\PO5,CCMWY, ,L3LC*0[V>4BDU##5!?THS_ 5!+ P04
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
M'FWU"@E;)7L>.5K&?DWW.^57\WV5]\GNLI/KC_J=E>Z._(%)-VNZF*W\B*.
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
M'K@&J/TE8W(WT0>T_QOB?U!+ P04    " #UB%98$10D*+0#  #L#0  &0
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
MZT-ZK<6O'^GW.',ZR_F=!YSC84YO$EO!=YEL6T2A=8\:-DM%2]Q=T*@5]KC
M&S6*A7MVC<A!;,QU3.*&51:J.H#7K?65[\%<=!KMC_HJ:*XG)YKJ'OF9BDU6
M2,)@C93>8(QC$M75K'I1?&LN*RNN\.IC'E.\SH+0 ?A]S;DZON@.Z@OR_']0
M2P,$%     @ ]8A66&.M)TE4!   EA   !D   !X;"]W;W)K<VAE971S+W-H
M965T-S@N>&ULK9AM;]LV$,>_"J$50PO4D:A'*[,-I ZZ!>BV($F[U[1$VT0D
MT2/I.-VGWU%6)$>D%!?HF]BR[HZ_.S[\CYD=N'B46TH5>BZ+2LZ=K5*[2]>5
MV9:61%[P':W@S9J+DBAX%!M7[@0E>>U4%J[O>;%;$E8YBUG]VZU8S/A>%:RB
MMP+)?5D2\?T3+?AA[F#GY8<[MMDJ_8.[F.W(AMY3]75W*^#);:/DK*259+Q"
M@J[GSA6^7/J>=J@MOC%ZD"??D4YEQ?FC?KC)YXZGB6A!,Z5#$/AXHDM:%#H2
M</S;!'7:,;7CZ?>7Z)_KY"&9%9%TR8M_6*ZV<V?JH)RNR;Y0=_SP!VT2BG2\
MC!>R_HL.C:WGH&PO%2\;9R H677\),]-(4X<<#C@X#<._KD.0>,0U(D>R>JT
MKHDBBYG@!R2T-4337^K:U-Z0#:OT--XK 6\9^*G%397QDJ('\DPEFJ![6";Y
MOJ"(K]$U75,A:*Y?HBLIJ9*(5#GZPLB*%4PQ\'A_315AA?P OE_OK]'[=Q_0
M.\0J]+#E>PG6<N8JP-2#N5F#].F(Y \@7=/L @7X(_(]/["X+\]W]U^[NU"<
MMD)^6R&_CA<,QFO*H* ,I"Z#+:=CD- >1&_&2[DC&9T[L-LD%4_46?SZ"XZ]
MWVP9_J1@K_(-VGR#L>B+.XA(1+:MYSJG3[#3=[!O%<J@" P^B!#?X?PX$&&?
MW6/XJ ZO3Y&G!<:1!U/Q=)JBQ<I+HZ2U>L4>MNSA*/MG]@P3-3Q)1^_X9-!H
MBGM@IHUGAXI:J&@4ZBK+Q!ZPBF[?V-@B8]S \[T>G,4H3@:*%K=\\2A?N\ %
M3':UM]/%YL"!43K3*$KBV$Z7M'3)*-W?.RJ(8M4&%12.Z[>JF!@(2>+WUYYI
MA+TX'BCCM 6=CH+>5(I4&[:"PW-X 4[-,D9AVL.S&(5Q9*=+6[ITE.Y>\>QQ
MH@4O1W#B0Q<@B=91&V1JC!_Z<="#M!C%*;9#8J]3(V\4<TEV3)&"_5<O1_M!
M9%44S\1)DK0/;3&#31:$ ]@G(HK'%ZG:4F'EPL: ?IKV)]QFA=.!&<>=<.%1
MG5C\+KB4NJ<Y1[^:6*<,TW"*^P>0Q2S!<>0/L':B@\=5YQLI]N38V!706I(J
MHU;*P!A^@OT@B?J85KLP&3B,<"<P>%QA'C@LS[-K:FI)XH>! 6N1I10/LG:Z
M@Z/S.Y<WSDT\JF$_VK_\K&BO$^\$#8\KVEMM #:%RECGILD$)^'0GNS4#/^0
MG.F>6^B;AFZX][*1#BNS*5J3R'*46,RF090.<'?BAL?5K5U+(!XED_H69R^M
M*5X3:%&,)6\UBP<Z+=RI'!Z7.<OV?&OAFT(V2>,D[ -;S'"0Q /2X7>*YX\K
MWE]P53_S.&DBG?;,L9_$_2[,8A9&(>X?T>[)I5'?V/\D8L,J">MR#7[>10(!
MQ/$2?'Q0?%??(U=<P:VT_KJE)*="&\#[->?JY4%?3=M_12S^!U!+ P04
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
M'>$&*+5 AL:O 3,84]K \_4)_9.KW=128 4W@GXGE6ZSX'V *JCQ@>J=Z+_
M4(\C6 JJW!?UWG>1!*@\*"W8$&P8,,+]'S\.?3@+2)X*2(: Q/'VB1S+#=8X
M3Z7HD;3>!LTN7*DNVI CW%[*7DMS2DR<SO?0F!9KA'F%/H-H).Y:4J*5N6!T
MR_VEV^Z]1?=82FQ;B%YM0&-"U>LTU(:"!0K+(=W:ITN>2!<GZ$YPW2KTD5=0
M_0L0&NYC <FI@'5R%7$#Y01-XS<HB9(I4KZ<*[C3L3%3ASM]IC$[Z(34A#?H
MQZI06IIG]/-2W1YM=AG-2FNI.EQ"%ACM*)!'"/*7+^)%].$*U]G(=78-/;\_
ML (D$C4R8K679-@.G5"7N'JTA4.SJCWF<1H>+Q"8CP3F_TE NG;A@L)5!O-G
M&81G;YJ!;)QR%2K%@6O_O,?=<3BLO";^NOO)<H=E0[A"%&H3&DW>F>S2J]4;
M6G1.(8701F]NV9H!!](ZF/-:"'TR;()Q9.9_ %!+ P04    " #UB%98>G44
MLRX$  "$%@  &0   'AL+W=O<FMS:&5E=',O<VAE970X,BYX;6RU6%UOVS84
M_2N$5@PMT$8B)5E29AM(HG8+T Z!W70/PQX8B[:%2J1+TG;S[T=*BFQ]1'5:
M^L76Q[W']QSR7A]PO&?\JU@3(L'W/*-B8JVEW%S:MEBL28[%!=L0JMXL&<^Q
M5+=\98L-)S@IDO+,1HXSLG.<4FLZ+I[=\>F8;6664G+'@=CF.>:/UR1C^XD%
MK:<'LW2UEOJ!/1UO\(K,B;S?W'%U9]<H29H3*E)& 2?+B74%+V,8ZH0BXDM*
M]N+H&F@J#XQ]U3>WR<1R=$4D(PNI(;#ZVI$;DF4:2=7QK0*UZM_4B<?73^@?
M"O**S ,6Y(9E_Z2)7$^LT ()6>)M)F=L_Q>I"/D:;\$R47R"?17K6&"Q%9+E
M5;*J($]I^8V_5T(<)<#1,PFH2D#M!.^9!+=*<$]-\*H$KU"FI%+H$&.)IV/.
M]H#K:(6F+PHQBVQ%/Z5ZW>>2J[>IRI/3.5FI590 TP3\2=B*X\TZ78 KM8?
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
M/PS-"&!F!;Z/(; :<013 !HPQ/>+Y^#6\\A9/Z><^E\7P[]02P,$%     @
M]8A66)>*NQS     $P(   L   !?<F5L<R\N<F5L<YV2N6[#, Q ?\70GC '
MT"&(,V7Q%@3Y 5:B#]@2!8I%G;^OVJ5QD L9>3T\$MP>:4#M.*2VBZD8_1!2
M:5K5N %(MB6/:<Z10J[4+!XUA]) 1-MC0[!:+#Y +AEFM[UD%J=SI%>(7->=
MI3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8
M%II%R=.B':5_'<?VD-/IKV,BM'I;Z/EQ:%0*CMQC)8QQ8K3^-8+)#^Q^ %!+
M P04    " #UB%98(^%[9!8&  "4-P  #P   'AL+W=O<FMB;V]K+GAM;,6;
M6V_;.!!&_PKAE^T"ZW5T=XNF@)M+-T"W->IL^Q@P$FT1E40O*>727[^4W*2C
MU/FP+U,_):)DZ7@H\0RI\>M;8[]>&_-5W-55XXXG9=MN7\UF+B]5+=V?9JL:
MOV=M;"U;OVDW,[>U2A:N5*JMJUEX=)3.:JF;R9O7#^=:VAG=,*W*6VT:W]@W
M?-;JUOW8WV^*&^WTM:YT>W\\&?ZOU$34NM&U_J:*X\G11+C2W/YEK/YFFE96
MJ]R:JCJ>!+L=GY5M=?Y3\ZJ'O)37;FAIY?4GZ4&.)^F1/^%:6]<.1PSGEY[Q
M1OF#=UM=:\YUU2I[*EOUSIINJYM-?QK_+6;D:PQQ>/B["^(K^W_":-9KG:M3
MDW>U:MI='*VJ>L#&E7KK)J*1M3J>G)@;9?OOXR]P4>R^6^NA2*3L*^UWV(MB
MP.-#672%;L5%L_NPWTNP0H 5\F*=^&U3Z<)?O1!O926;7(FA9QT!C !@=#!
M\6(I"60,(.-?"+GJ(?H/.&'6XN-V= <F #(Y&.2)J;<$,@60Z>$@I2L)9 8@
MLX-!KEJ3$\@Y@)SS0EZ6:NA7V=P+V7C.KJZEO1\@]88./R\!Y$M>R'.IK?@L
MJT[U7.>Z\8^WEI4?)UUKNYH.W4=H[#YB'KQS?TA7#?W]L2V5'2)K5:D:Y\U'
M,:%BF!WC\P4_VK2[_C[[M]/;_@-_B ^JI8A(-P&S;SZI&]7XWEY;4_L@-JWU
MR8,37W1;BI...B= T@F8K;/(??2<'MHI$W),P"R9"Y^\-9O^HF+AG/??3QV+
MY!(PV^6]DDZ-8H4L$K!KI*YUVQ\T/ O]C>9S4.4'ES$CDDC ;)%>%5]+4Q7*
MNM^&Q_7[DSOLF%),I)& V2-G];8R]TJ)MZI1:Y_#+GT.1N&0/@)F?UPTN:F5
MN)1WHWX-D2Q"9EFLU.;QQGNGS,;*;:ESL?!3OS[_IYA(%B&S+/S8(;Z';^F%
MMBJEI2(+X:2$V1)+>2]N7,\U?+Q/^4^URROCNC$D<D3([ B?HVC_[(I+*PL_
MN/@.MGY\WJ6"E!$Y(V1V!DP"KT**B>01,LL#IH%C3&25D-DJ, T<8R*QA,QB
M 6F@>'%)I\PA$DO(+!:8"HZCB103LBMF7]K5!](WN=_I*@FR3L1LG5W^M1<+
M629BM@Q*Q#PLQ43"B9B% W.QT;T8P;4P=N7\2'?V=C5R3<3L&ICWC&.(7!,Q
MNV9?WK,WEL@T$;-IL+<CBHE,$S&;!GM[A(E,$S&;!F/&%!.9)CKD8MA50I>Z
MD6EB9M-@S)1B(O/$S.;!F!G%1.:)F<V#,><4$YDG9C8/QGQ),>%[&&8'X0R=
M#D@Q<E#,["",20>D&%DH9K80FDA,Q8IB(@O%!YSO3,4'BHDL%!]TOC.Z-Y&%
M8F8+/8-YN\.D]V:"+)0P6PA'D\HR019*F"V$,:DL$V2AA-E"]'V'>'&J6JFK
M43:<(/DD[-.>O5/PJ3B1UMYKBHGDDQSD!<UC."DF+ -@EL^ST3R[VZJ<OE!*
MD'P29OE\7]#P [CO9-D7&.V_,9%Y$F;S/#*NNNVV&I9^?4[4%RJ(\\K<4DQD
MGH39/(^87Y3>E'W2L;A15FZ4^.3//7I^D'D29O,\8O[=5Z]UM5@T3>?C.;2+
M)2U00>9)F<T#E[2F@F(B\Z3,YL%+6C3=2)%YTH.NO-%T(T4*2ID5A#%INI$B
M!:7<:W 0DZ8;*5)0RJP@C$GGYBFL16-6$,:D<_,462@]9"'!:&Z>(@NES!9"
MF%=#>=<C)K)0RFPAC!G0"D1DH8R[R@!BTM7V#%DH.Z"%K@)JH0Q9*#N@A:X"
M:J$,62ACMM#>6IR]:7&&+)2Q3X3(:RJ?'/M3%ETUK!SVNR@FLE#&/A%Z%O-)
M072&+)0Q6PA@GJW7M!PF@S71S!8"F*=JC(DLE#%;Z GFT\DEQ406RGYA8=N3
M:/[3C&J@YLA"\T/6NHTF&7-DH3FWA2 F'=[GR$)S9@OM?34]%6^E\["CHLLY
MLM"<V4+/8"[\/'A:Z(IB(@O-!PO-AH/=F]>%%UJCB@_^$LZWY[+*EU;T?_HS
M!6&<])6FZZZJ3GS;Q^:]D<7#C\H>?A#WYC]02P,$%     @ ]8A66),QO/V
M @  DS$  !H   !X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<\W:36ZC0!"&
MX:M8'"#MKNJJ[HSBK&:3[2@70$[[1[&-!8PFN?U8SL+^T"QF$_&M4(,HW@5Z
MA("G7_70COON-.SVYV'Q<3R<AE6S&\?SCQ"&]:X>V^&A.]?3Y<BFZX_M>%GV
MVW!NU^_MM@99+CWT]S.:YZ?[F8O7SW/]GXG=9K-?UY_=^O>QGL9_# Y_NOY]
MV-4Z-HO7MM_6<=6$C\-M]Q"NF_APF=PL7MY63?_R%ILP=Y! D,P?I!"D\P<E
M"$KS!QD$V?Q!#D$^?U"&H#Q_4(&@,G_0(P0]SA\4ERCCDB!I@C6!UA&YC@1>
M1P0[$H@=D>Q(8'9$M".!VA'9C@1N1X0[$L@=D>Y(8'=$O".!WH)Z"X'>@GH+
M@=XR>=@FT%M0;R'06U!O(=!;4&\AT%M0;R'06U!O(=!;4&\AT%M0;R'06U%O
M)=!;46\ET%M1;R706R<O2PCT5M1;"?16U%L)]%;46PGT5M1;"?16U%L)]%;4
M6PGT3JAW(M [H=Z)0.^$>B<"O1/JG0CT3I.7W01Z)]0[$>B=4.]$H'="O1.!
MW@GU3@1Z)]0[$>AMJ+<1Z&VHMQ'H;:BW$>AMJ+<1Z&VHMQ'H;9./E01Z&^IM
M!'H;ZFT$>AOJ;01Z&^IM!'H[ZNT$>COJ[01Z.^KM!'H[ZNT$>COJ[01Z.^KM
M!'K[Y&<3 KT=]78"O1WU=@*]'?5V KTSZIT)],ZH=R;0.Z/>F4#OC'IG KTS
MZIT)],ZH=R;0.Z/>F4#O//E9D$#OC'IG KTSZIT)]"ZH=R'0NZ#>A4#O@GH7
M KT+ZET(]"ZH=_E.O8?Q\U"'6\_7&J__G52/EW/K[?+7Y=?.R=U[Q3G<5PS/
M?P%02P,$%     @ ]8A66/<P)@8G @  ,C   !,   !;0V]N=&5N=%]4>7!E
M<UTN>&ULS=M-;MLP$ 7@JQC:!A;-?[6(LVF[;;/H!5AI' N61()D4N?VI>0D
M0(O42. "?1L+-LEY(P[P[7S]_3%06AW'84K;:I]S^,A8:O<TNE3[0%-9V?DX
MNER^QCL67'MP=\3$9F-8ZZ=,4U[GN49U<_V9=NY^R*LOQ_)SZOVTK2(-J5I]
M.FV<L[:5"V'H6Y?+.GN8NC]2UD\)=3FY[$G[/J2KLJ%BKR;,*W\/>#KW[8%B
M[#M:W;J8O[JQ[&+'@:7\.%"JSY=XI4>_V_4M=;Z]'\N1.H5(KDM[HCP.]:GH
MU?GD7&Z83I_\XORES+G LO,V^I#*Q"*]/^YY)//I=2B%*.;^_"N^));2%[\?
MS=/NJ'MC=KG>GSX>EGDDMCPNO^/?9_Q2_YU]") ^)$@?"J0/#=*' >G#@O31
M@/3Q :0/OD%I!$54CD(J1S&5HZ#*453E**QR%%<Y"JP<15:!(JM D56@R"I0
M9!4HL@H4606*K )%5H$BJT"15:+(*E%DE2BR2A19)8JL$D56B2*K1)%5HL@J
M4615*+(J%%D5BJP*15:%(JM"D56AR*I09%4HLBH4636*K!I%5HTBJT:15:/(
MJE%DU2BR:A19-8JL&D56@R*K09'5H,AJ4&0U*+(:%%D-BJP&15:#(JM!D=6B
MR&I19+4HLEH462V*K!9%5HLBJT61U:+(:E%D;5!D;5!D;5!D;5!D;?ZGK#^\
M/_SC^.59CZZ?GO/9\E>!FU]02P$"% ,4    " #UB%98!T%-8H$   "Q
M$               @ $     9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0    (
M /6(5EB@%*9D[@   "L"   1              "  :\   !D;V-0<F]P<R]C
M;W)E+GAM;%!+ 0(4 Q0    ( /6(5EB97)PC$ 8  )PG   3
M  "  <P!  !X;"]T:&5M92]T:&5M93$N>&UL4$L! A0#%     @ ]8A66%>7
M-D@/"   [C   !@              ("!#0@  'AL+W=O<FMS:&5E=',O<VAE
M970Q+GAM;%!+ 0(4 Q0    ( /6(5ECTN/][/@(  +P%   8
M  " @5(0  !X;"]W;W)K<VAE971S+W-H965T,BYX;6Q02P$"% ,4    " #U
MB%98J O )<X&  !:'0  &               @('&$@  >&PO=V]R:W-H965T
M<R]S:&5E=#,N>&UL4$L! A0#%     @ ]8A66$4P@RPM P  Y H  !@
M         ("!RAD  'AL+W=O<FMS:&5E=',O<VAE970T+GAM;%!+ 0(4 Q0
M   ( /6(5ECV_-M5M 4  '89   8              " @2T=  !X;"]W;W)K
M<VAE971S+W-H965T-2YX;6Q02P$"% ,4    " #UB%983]\M$7\#  #'"P
M&               @($7(P  >&PO=V]R:W-H965T<R]S:&5E=#8N>&UL4$L!
M A0#%     @ ]8A66&N&)J$X"0  *RP  !@              ("!S"8  'AL
M+W=O<FMS:&5E=',O<VAE970W+GAM;%!+ 0(4 Q0    ( /6(5E@-)AC-: D
M *E0   8              " @3HP  !X;"]W;W)K<VAE971S+W-H965T."YX
M;6Q02P$"% ,4    " #UB%98(M.8<28I  "FA0  &               @('8
M.0  >&PO=V]R:W-H965T<R]S:&5E=#DN>&UL4$L! A0#%     @ ]8A66)?5
MY?G-$   7S8  !D              ("!-&,  'AL+W=O<FMS:&5E=',O<VAE
M970Q,"YX;6Q02P$"% ,4    " #UB%98\S/8=Y $   7"P  &0
M    @($X=   >&PO=V]R:W-H965T<R]S:&5E=#$Q+GAM;%!+ 0(4 Q0    (
M /6(5EB<02\2" 0   D)   9              " @?]X  !X;"]W;W)K<VAE
M971S+W-H965T,3(N>&UL4$L! A0#%     @ ]8A66/N"]0AR"   Q10  !D
M             ("!/GT  'AL+W=O<FMS:&5E=',O<VAE970Q,RYX;6Q02P$"
M% ,4    " #UB%98;9[S%S8%   ;#   &0              @('GA0  >&PO
M=V]R:W-H965T<R]S:&5E=#$T+GAM;%!+ 0(4 Q0    ( /6(5E@Z(A5C7 0
M . *   9              " @52+  !X;"]W;W)K<VAE971S+W-H965T,34N
M>&UL4$L! A0#%     @ ]8A66-8,G_:2!   SQ   !D              ("!
MYX\  'AL+W=O<FMS:&5E=',O<VAE970Q-BYX;6Q02P$"% ,4    " #UB%98
M,XKQNV\&  #"#P  &0              @(&PE   >&PO=V]R:W-H965T<R]S
M:&5E=#$W+GAM;%!+ 0(4 Q0    ( /6(5E@CX*KW:A4  &A-   9
M      " @5:;  !X;"]W;W)K<VAE971S+W-H965T,3@N>&UL4$L! A0#%
M  @ ]8A66(ADF;JB P  AP@  !D              ("!][   'AL+W=O<FMS
M:&5E=',O<VAE970Q.2YX;6Q02P$"% ,4    " #UB%98;=JP#:,+  #,'@
M&0              @('0M   >&PO=V]R:W-H965T<R]S:&5E=#(P+GAM;%!+
M 0(4 Q0    ( /6(5E@-]AQ'1P0  )T)   9              " @:K   !X
M;"]W;W)K<VAE971S+W-H965T,C$N>&UL4$L! A0#%     @ ]8A66";OF5N(
M P  $P@  !D              ("!*,4  'AL+W=O<FMS:&5E=',O<VAE970R
M,BYX;6Q02P$"% ,4    " #UB%98 _GAA5X"  " !@  &0
M@('GR   >&PO=V]R:W-H965T<R]S:&5E=#(S+GAM;%!+ 0(4 Q0    ( /6(
M5EA5(DB]>@4  &T4   9              " @7S+  !X;"]W;W)K<VAE971S
M+W-H965T,C0N>&UL4$L! A0#%     @ ]8A66)-Q^]*^*   Z)$  !D
M         ("!+=$  'AL+W=O<FMS:&5E=',O<VAE970R-2YX;6Q02P$"% ,4
M    " #UB%98R<1L&]P(   Z'0  &0              @($B^@  >&PO=V]R
M:W-H965T<R]S:&5E=#(V+GAM;%!+ 0(4 Q0    ( /6(5EC792SJP@0  +D+
M   9              " @34# 0!X;"]W;W)K<VAE971S+W-H965T,C<N>&UL
M4$L! A0#%     @ ]8A66 ]8L$DA P  NP8  !D              ("!+@@!
M 'AL+W=O<FMS:&5E=',O<VAE970R."YX;6Q02P$"% ,4    " #UB%98,2\B
M@(4#  "@"   &0              @(&&"P$ >&PO=V]R:W-H965T<R]S:&5E
M=#(Y+GAM;%!+ 0(4 Q0    ( /6(5E@3,U-("@0  "@.   9
M  " @4(/ 0!X;"]W;W)K<VAE971S+W-H965T,S N>&UL4$L! A0#%     @
M]8A66"B'C$_/ P  OPD  !D              ("!@Q,! 'AL+W=O<FMS:&5E
M=',O<VAE970S,2YX;6Q02P$"% ,4    " #UB%98VGN+Y(<"  "I!0  &0
M            @(&)%P$ >&PO=V]R:W-H965T<R]S:&5E=#,R+GAM;%!+ 0(4
M Q0    ( /6(5ECN3J*W*@<  )04   9              " @4<: 0!X;"]W
M;W)K<VAE971S+W-H965T,S,N>&UL4$L! A0#%     @ ]8A66&2FYSS@!@
M2A(  !D              ("!J"$! 'AL+W=O<FMS:&5E=',O<VAE970S-"YX
M;6Q02P$"% ,4    " #UB%98]U250&(#   W!P  &0              @(&_
M* $ >&PO=V]R:W-H965T<R]S:&5E=#,U+GAM;%!+ 0(4 Q0    ( /6(5EC&
M9]"[R ,   $)   9              " @5@L 0!X;"]W;W)K<VAE971S+W-H
M965T,S8N>&UL4$L! A0#%     @ ]8A66!.GLDGB!@  ;SD  !D
M     ("!5S ! 'AL+W=O<FMS:&5E=',O<VAE970S-RYX;6Q02P$"% ,4
M" #UB%98D7]5Q'H%  !G'P  &0              @(%P-P$ >&PO=V]R:W-H
M965T<R]S:&5E=#,X+GAM;%!+ 0(4 Q0    ( /6(5EB+TRZ"_0@  !]$   9
M              " @2$] 0!X;"]W;W)K<VAE971S+W-H965T,SDN>&UL4$L!
M A0#%     @ ]8A66+6%8S.&!@  NS$  !D              ("!548! 'AL
M+W=O<FMS:&5E=',O<VAE970T,"YX;6Q02P$"% ,4    " #UB%98[G=C[5 #
M   X#0  &0              @($230$ >&PO=V]R:W-H965T<R]S:&5E=#0Q
M+GAM;%!+ 0(4 Q0    ( /6(5ECAH+FZDP0  #HA   9              "
M@9E0 0!X;"]W;W)K<VAE971S+W-H965T-#(N>&UL4$L! A0#%     @ ]8A6
M6-\GV& L P  1@P  !D              ("!8U4! 'AL+W=O<FMS:&5E=',O
M<VAE970T,RYX;6Q02P$"% ,4    " #UB%989/:YNB(#  "@"   &0
M        @('&6 $ >&PO=V]R:W-H965T<R]S:&5E=#0T+GAM;%!+ 0(4 Q0
M   ( /6(5EA_#&V.YP4  (0?   9              " @1]< 0!X;"]W;W)K
M<VAE971S+W-H965T-#4N>&UL4$L! A0#%     @ ]8A66.RMG6H(!0  41@
M !D              ("!/6(! 'AL+W=O<FMS:&5E=',O<VAE970T-BYX;6Q0
M2P$"% ,4    " #UB%98\\%P6/D#   9%   &0              @(%\9P$
M>&PO=V]R:W-H965T<R]S:&5E=#0W+GAM;%!+ 0(4 Q0    ( /6(5EC\8IU!
M<0,  "</   9              " @:QK 0!X;"]W;W)K<VAE971S+W-H965T
M-#@N>&UL4$L! A0#%     @ ]8A66#7!@&D! P  6PD  !D
M ("!5&\! 'AL+W=O<FMS:&5E=',O<VAE970T.2YX;6Q02P$"% ,4    " #U
MB%98M.3U[[X#  !.%@  &0              @(&,<@$ >&PO=V]R:W-H965T
M<R]S:&5E=#4P+GAM;%!+ 0(4 Q0    ( /6(5E@Y9&^Y+P,  $L-   9
M          " @8%V 0!X;"]W;W)K<VAE971S+W-H965T-3$N>&UL4$L! A0#
M%     @ ]8A66-&0UVI> @  [ 4  !D              ("!YWD! 'AL+W=O
M<FMS:&5E=',O<VAE970U,BYX;6Q02P$"% ,4    " #UB%98JX'9I;4%  "E
M,   &0              @(%\? $ >&PO=V]R:W-H965T<R]S:&5E=#4S+GAM
M;%!+ 0(4 Q0    ( /6(5EB3F5/38@4  .8A   9              " @6B"
M 0!X;"]W;W)K<VAE971S+W-H965T-30N>&UL4$L! A0#%     @ ]8A66&0W
M-!Y^ @  IP8  !D              ("! 8@! 'AL+W=O<FMS:&5E=',O<VAE
M970U-2YX;6Q02P$"% ,4    " #UB%98EU>-M+4"  !%"   &0
M    @(&VB@$ >&PO=V]R:W-H965T<R]S:&5E=#4V+GAM;%!+ 0(4 Q0    (
M /6(5E@*E.--:0(  'T&   9              " @:*- 0!X;"]W;W)K<VAE
M971S+W-H965T-3<N>&UL4$L! A0#%     @ ]8A66&$*)'O2 @  JP<  !D
M             ("!0I ! 'AL+W=O<FMS:&5E=',O<VAE970U."YX;6Q02P$"
M% ,4    " #UB%98+_%&(5D"   G!@  &0              @(%+DP$ >&PO
M=V]R:W-H965T<R]S:&5E=#4Y+GAM;%!+ 0(4 Q0    ( /6(5E@T:=]', ,
M .T+   9              " @=N5 0!X;"]W;W)K<VAE971S+W-H965T-C N
M>&UL4$L! A0#%     @ ]8A66/;+9XYG @  % 8  !D              ("!
M0ID! 'AL+W=O<FMS:&5E=',O<VAE970V,2YX;6Q02P$"% ,4    " #UB%98
M/-7#B,P"   0"0  &0              @('@FP$ >&PO=V]R:W-H965T<R]S
M:&5E=#8R+GAM;%!+ 0(4 Q0    ( /6(5EC&GI%+=P4  !0C   9
M      " @>.> 0!X;"]W;W)K<VAE971S+W-H965T-C,N>&UL4$L! A0#%
M  @ ]8A66+'QN4PE!   "Q8  !D              ("!D:0! 'AL+W=O<FMS
M:&5E=',O<VAE970V-"YX;6Q02P$"% ,4    " #UB%98_UG<7+ %  "9,0
M&0              @('MJ $ >&PO=V]R:W-H965T<R]S:&5E=#8U+GAM;%!+
M 0(4 Q0    ( /6(5EANR_3FP14  #J; 0 9              " @=2N 0!X
M;"]W;W)K<VAE971S+W-H965T-C8N>&UL4$L! A0#%     @ ]8A66'5<X#<T
M!   R1(  !D              ("!S,0! 'AL+W=O<FMS:&5E=',O<VAE970V
M-RYX;6Q02P$"% ,4    " #UB%98_'/.\<@%   O(0  &0
M@($WR0$ >&PO=V]R:W-H965T<R]S:&5E=#8X+GAM;%!+ 0(4 Q0    ( /6(
M5EC?Y=R:^@@  ,-S   9              " @3;/ 0!X;"]W;W)K<VAE971S
M+W-H965T-CDN>&UL4$L! A0#%     @ ]8A66. X&%A& P  P@L  !D
M         ("!9]@! 'AL+W=O<FMS:&5E=',O<VAE970W,"YX;6Q02P$"% ,4
M    " #UB%98^X7E4QD$  "P$0  &0              @('DVP$ >&PO=V]R
M:W-H965T<R]S:&5E=#<Q+GAM;%!+ 0(4 Q0    ( /6(5EC4V5UP^@(  '8+
M   9              " @33@ 0!X;"]W;W)K<VAE971S+W-H965T-S(N>&UL
M4$L! A0#%     @ ]8A66!ICE< [!0  D2H  !D              ("!9>,!
M 'AL+W=O<FMS:&5E=',O<VAE970W,RYX;6Q02P$"% ,4    " #UB%98ECHB
M&YD"  !-!P  &0              @('7Z $ >&PO=V]R:W-H965T<R]S:&5E
M=#<T+GAM;%!+ 0(4 Q0    ( /6(5EC:XI]&V (  $,(   9
M  " @:?K 0!X;"]W;W)K<VAE971S+W-H965T-S4N>&UL4$L! A0#%     @
M]8A66!$4)"BT P  [ T  !D              ("!MNX! 'AL+W=O<FMS:&5E
M=',O<VAE970W-BYX;6Q02P$"% ,4    " #UB%98R]5.@! $   L#P  &0
M            @(&A\@$ >&PO=V]R:W-H965T<R]S:&5E=#<W+GAM;%!+ 0(4
M Q0    ( /6(5EACK2=)5 0  )80   9              " @>CV 0!X;"]W
M;W)K<VAE971S+W-H965T-S@N>&UL4$L! A0#%     @ ]8A66#.TA,\% P
M:@L  !D              ("!<_L! 'AL+W=O<FMS:&5E=',O<VAE970W.2YX
M;6Q02P$"% ,4    " #UB%98M2\>A(8#  !0"P  &0              @(&O
M_@$ >&PO=V]R:W-H965T<R]S:&5E=#@P+GAM;%!+ 0(4 Q0    ( /6(5ECX
MNW:[10(  #X%   9              " @6P" @!X;"]W;W)K<VAE971S+W-H
M965T.#$N>&UL4$L! A0#%     @ ]8A66'IU%+,N!   A!8  !D
M     ("!Z 0" 'AL+W=O<FMS:&5E=',O<VAE970X,BYX;6Q02P$"% ,4
M" #UB%98D^RD 1 $  !>$   &0              @(%-"0( >&PO=V]R:W-H
M965T<R]S:&5E=#@S+GAM;%!+ 0(4 Q0    ( /6(5E@J3!:RG ,  +@1   9
M              " @90- @!X;"]W;W)K<VAE971S+W-H965T.#0N>&UL4$L!
M A0#%     @ ]8A66%1M^O") P  QQ@   T              ( !9Q$" 'AL
M+W-T>6QE<RYX;6Q02P$"% ,4    " #UB%98EXJ[',     3 @  "P
M        @ $;%0( 7W)E;',O+G)E;'-02P$"% ,4    " #UB%98(^%[9!8&
M  "4-P  #P              @ $$%@( >&PO=V]R:V)O;VLN>&UL4$L! A0#
M%     @ ]8A66),QO/V  @  DS$  !H              ( !1QP" 'AL+U]R
M96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%     @ ]8A66/<P)@8G @
M,C   !,              ( !_QX" %M#;VYT96YT7U1Y<&5S72YX;6Q02P4&
2     %P 7  [&0  5R$"

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>105
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>107
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>284</ContextCount>
  <ElementCount>445</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>73</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>10</UnitCount>
  <MyReports>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>0000002 - Document - Audit Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/AuditInformation</Role>
      <ShortName>Audit Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>0000003 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/ConsolidatedBalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>0000004 - Statement - Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>0000005 - Statement - Consolidated Statements of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/ConsolidatedStatementsofOperations</Role>
      <ShortName>Consolidated Statements of Operations</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>0000006 - Statement - Consolidated Statements of Comprehensive Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome</Role>
      <ShortName>Consolidated Statements of Comprehensive Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>0000007 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/ConsolidatedStatementsofCashFlows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>0000008 - Statement - Consolidated Statements of Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity</Role>
      <ShortName>Consolidated Statements of Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>0000009 - Disclosure - The Company and Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPolicies</Role>
      <ShortName>The Company and Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>0000010 - Disclosure - Fair Value of Financial Instruments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/FairValueofFinancialInstruments</Role>
      <ShortName>Fair Value of Financial Instruments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>0000011 - Disclosure - Accumulated Other Comprehensive Income (Loss)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLoss</Role>
      <ShortName>Accumulated Other Comprehensive Income (Loss)</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>0000012 - Disclosure - Property and Equipment, Net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/PropertyandEquipmentNet</Role>
      <ShortName>Property and Equipment, Net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>0000013 - Disclosure - Revenue from Contracts With Customers</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/RevenuefromContractsWithCustomers</Role>
      <ShortName>Revenue from Contracts With Customers</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>0000014 - Disclosure - Acquisitions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/Acquisitions</Role>
      <ShortName>Acquisitions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>0000015 - Disclosure - Intangible Assets, Net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/IntangibleAssetsNet</Role>
      <ShortName>Intangible Assets, Net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>0000016 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>0000017 - Disclosure - Commitment and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/CommitmentandContingencies</Role>
      <ShortName>Commitment and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>0000018 - Disclosure - Stockholders' Equity and Stock-based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/StockholdersEquityandStockbasedCompensation</Role>
      <ShortName>Stockholders' Equity and Stock-based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>0000019 - Disclosure - Employee Benefit Plan</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/EmployeeBenefitPlan</Role>
      <ShortName>Employee Benefit Plan</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>0000020 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>0000021 - Disclosure - Segment and Geographic Area Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/SegmentandGeographicAreaInformation</Role>
      <ShortName>Segment and Geographic Area Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>0000022 - Disclosure - Net Income Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/NetIncomePerShare</Role>
      <ShortName>Net Income Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>9954471 - Disclosure - The Company and Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies</Role>
      <ShortName>The Company and Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPolicies</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>9954472 - Disclosure - Fair Value of Financial Instruments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/FairValueofFinancialInstrumentsTables</Role>
      <ShortName>Fair Value of Financial Instruments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.qualys.com/role/FairValueofFinancialInstruments</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>9954473 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossTables</Role>
      <ShortName>Accumulated Other Comprehensive Income (Loss) (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLoss</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>9954474 - Disclosure - Property and Equipment, Net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/PropertyandEquipmentNetTables</Role>
      <ShortName>Property and Equipment, Net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.qualys.com/role/PropertyandEquipmentNet</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>9954475 - Disclosure - Revenue from Contracts With Customers (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/RevenuefromContractsWithCustomersTables</Role>
      <ShortName>Revenue from Contracts With Customers (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.qualys.com/role/RevenuefromContractsWithCustomers</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>9954476 - Disclosure - Intangible Assets, Net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/IntangibleAssetsNetTables</Role>
      <ShortName>Intangible Assets, Net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.qualys.com/role/IntangibleAssetsNet</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>9954477 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.qualys.com/role/Leases</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>9954478 - Disclosure - Commitment and Contingencies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/CommitmentandContingenciesTables</Role>
      <ShortName>Commitment and Contingencies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.qualys.com/role/CommitmentandContingencies</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>9954479 - Disclosure - Stockholders' Equity and Stock-based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables</Role>
      <ShortName>Stockholders' Equity and Stock-based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.qualys.com/role/StockholdersEquityandStockbasedCompensation</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>9954480 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.qualys.com/role/IncomeTaxes</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>9954481 - Disclosure - Segment and Geographic Area Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/SegmentandGeographicAreaInformationTables</Role>
      <ShortName>Segment and Geographic Area Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.qualys.com/role/SegmentandGeographicAreaInformation</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>9954482 - Disclosure - Net Income Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/NetIncomePerShareTables</Role>
      <ShortName>Net Income Per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.qualys.com/role/NetIncomePerShare</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>9954483 - Disclosure - The Company and Summary of Significant Accounting Policies - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails</Role>
      <ShortName>The Company and Summary of Significant Accounting Policies - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>9954484 - Disclosure - Fair Value of Financial Instruments - Fair Value Hierarchy (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails</Role>
      <ShortName>Fair Value of Financial Instruments - Fair Value Hierarchy (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>9954485 - Disclosure - Fair Value of Financial Instruments - Cash and Cash Equivalents (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails</Role>
      <ShortName>Fair Value of Financial Instruments - Cash and Cash Equivalents (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>9954486 - Disclosure - Fair Value of Financial Instruments - Summary of Securities in Unrealized Loss Positions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails</Role>
      <ShortName>Fair Value of Financial Instruments - Summary of Securities in Unrealized Loss Positions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>9954487 - Disclosure - Fair Value of Financial Instruments - Summary of the Fair Value of Marketable Securities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails</Role>
      <ShortName>Fair Value of Financial Instruments - Summary of the Fair Value of Marketable Securities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>9954488 - Disclosure - Fair Value of Financial Instruments - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails</Role>
      <ShortName>Fair Value of Financial Instruments - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>9954489 - Disclosure - Fair Value of Financial Instruments - Summary of Derivative Financial Instruments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails</Role>
      <ShortName>Fair Value of Financial Instruments - Summary of Derivative Financial Instruments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>9954490 - Disclosure - Fair Value of Financial Instruments - Amounts Recognized In Statement of Operations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails</Role>
      <ShortName>Fair Value of Financial Instruments - Amounts Recognized In Statement of Operations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>9954491 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Accumulated Other Comprehensive Income (Loss) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails</Role>
      <ShortName>Accumulated Other Comprehensive Income (Loss) - Accumulated Other Comprehensive Income (Loss) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossTables</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>9954492 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Amounts Reclassified from AOCI (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails</Role>
      <ShortName>Accumulated Other Comprehensive Income (Loss) - Amounts Reclassified from AOCI (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossTables</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>9954493 - Disclosure - Property and Equipment, Net - Schedule of Property and Equipment, Net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails</Role>
      <ShortName>Property and Equipment, Net - Schedule of Property and Equipment, Net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>9954494 - Disclosure - Property and Equipment, Net - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails</Role>
      <ShortName>Property and Equipment, Net - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>9954495 - Disclosure - Revenue from Contracts With Customers - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/RevenuefromContractsWithCustomersNarrativeDetails</Role>
      <ShortName>Revenue from Contracts With Customers - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>9954496 - Disclosure - Revenue from Contracts with Customers - Expected Revenue from All Remaining Performance Obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails</Role>
      <ShortName>Revenue from Contracts with Customers - Expected Revenue from All Remaining Performance Obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>9954497 - Disclosure - Revenue from Contracts With Customers - Revenue by Sales Channel (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/RevenuefromContractsWithCustomersRevenuebySalesChannelDetails</Role>
      <ShortName>Revenue from Contracts With Customers - Revenue by Sales Channel (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>9954498 - Disclosure - Revenue from Contracts With Customers - Capitalized Cost to Obtain Contracts, Current and Noncurrent (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/RevenuefromContractsWithCustomersCapitalizedCosttoObtainContractsCurrentandNoncurrentDetails</Role>
      <ShortName>Revenue from Contracts With Customers - Capitalized Cost to Obtain Contracts, Current and Noncurrent (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>9954499 - Disclosure - Acquisitions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/AcquisitionsDetails</Role>
      <ShortName>Acquisitions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.qualys.com/role/Acquisitions</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>9954500 - Disclosure - Intangible Assets, Net - Carrying Value of Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails</Role>
      <ShortName>Intangible Assets, Net - Carrying Value of Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>9954501 - Disclosure - Intangible Assets, Net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/IntangibleAssetsNetDetails</Role>
      <ShortName>Intangible Assets, Net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.qualys.com/role/IntangibleAssetsNetTables</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>9954502 - Disclosure - Intangible Assets, Net - Expected Amortization Expense in Future Periods (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails</Role>
      <ShortName>Intangible Assets, Net - Expected Amortization Expense in Future Periods (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>9954503 - Disclosure - Leases - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/LeasesNarrativeDetails</Role>
      <ShortName>Leases - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>9954504 - Disclosure - Leases - Supplemental Cash Flow Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/LeasesSupplementalCashFlowInformationDetails</Role>
      <ShortName>Leases - Supplemental Cash Flow Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>9954505 - Disclosure - Leases - Weighted Average Remaining Lease Term and Weighted Average Discount Rate (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/LeasesWeightedAverageRemainingLeaseTermandWeightedAverageDiscountRateDetails</Role>
      <ShortName>Leases - Weighted Average Remaining Lease Term and Weighted Average Discount Rate (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>9954506 - Disclosure - Leases - Minimum Annual Lease Payments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails</Role>
      <ShortName>Leases - Minimum Annual Lease Payments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>9954507 - Disclosure - Commitment and Contingencies - Remaining Purchase Commitments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/CommitmentandContingenciesRemainingPurchaseCommitmentsDetails</Role>
      <ShortName>Commitment and Contingencies - Remaining Purchase Commitments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>9954508 - Disclosure - Stockholders' Equity and Stock-based Compensation - Preferred Stock (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPreferredStockDetails</Role>
      <ShortName>Stockholders' Equity and Stock-based Compensation - Preferred Stock (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>9954509 - Disclosure - Stockholders' Equity and Stock-based Compensation - Equity Incentive Plan (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails</Role>
      <ShortName>Stockholders' Equity and Stock-based Compensation - Equity Incentive Plan (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>9954510 - Disclosure - Stockholders' Equity and Stock-based Compensation - Summary of Stock-based Compensation Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails</Role>
      <ShortName>Stockholders' Equity and Stock-based Compensation - Summary of Stock-based Compensation Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>9954511 - Disclosure - Stockholders' Equity and Stock-based Compensation - Stock-based Compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails</Role>
      <ShortName>Stockholders' Equity and Stock-based Compensation - Stock-based Compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>9954512 - Disclosure - Stockholders' Equity and Stock-based Compensation - Performance-Based Stock Options and Restricted Stock Units (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails</Role>
      <ShortName>Stockholders' Equity and Stock-based Compensation - Performance-Based Stock Options and Restricted Stock Units (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>9954513 - Disclosure - Stockholders' Equity and Stock-based Compensation - Fair Value Assumptions, Stock Options (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails</Role>
      <ShortName>Stockholders' Equity and Stock-based Compensation - Fair Value Assumptions, Stock Options (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>9954514 - Disclosure - Stockholders' Equity and Stock-based Compensation - Share-based Compensation and Stock Options Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails</Role>
      <ShortName>Stockholders' Equity and Stock-based Compensation - Share-based Compensation and Stock Options Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>9954515 - Disclosure - Stockholders' Equity and Stock-based Compensation - Summary of Restricted Stock Unit Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails</Role>
      <ShortName>Stockholders' Equity and Stock-based Compensation - Summary of Restricted Stock Unit Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>9954516 - Disclosure - Stockholders' Equity and Stock-based Compensation - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails</Role>
      <ShortName>Stockholders' Equity and Stock-based Compensation - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables</ParentRole>
      <Position>70</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>9954517 - Disclosure - Stockholders' Equity and Stock-based Compensation - Employee Stock Purchase Plan, Valuation Assumptions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails</Role>
      <ShortName>Stockholders' Equity and Stock-based Compensation - Employee Stock Purchase Plan, Valuation Assumptions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>9954518 - Disclosure - Stockholders' Equity and Stock-based Compensation - Schedule of Repurchase Agreements (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationScheduleofRepurchaseAgreementsDetails</Role>
      <ShortName>Stockholders' Equity and Stock-based Compensation - Schedule of Repurchase Agreements (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>9954519 - Disclosure - Stockholders' Equity and Stock-based Compensation - Share Repurchase Program (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails</Role>
      <ShortName>Stockholders' Equity and Stock-based Compensation - Share Repurchase Program (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>9954520 - Disclosure - Employee Benefit Plan (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/EmployeeBenefitPlanDetails</Role>
      <ShortName>Employee Benefit Plan (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.qualys.com/role/EmployeeBenefitPlan</ParentRole>
      <Position>74</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>9954521 - Disclosure - Income Taxes - Schedule of Income before Income Tax, Domestic and Foreign (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/IncomeTaxesScheduleofIncomebeforeIncomeTaxDomesticandForeignDetails</Role>
      <ShortName>Income Taxes - Schedule of Income before Income Tax, Domestic and Foreign (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>9954522 - Disclosure - Income Taxes - Schedule of Components of Income Tax Expense (Benefit) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails</Role>
      <ShortName>Income Taxes - Schedule of Components of Income Tax Expense (Benefit) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>9954523 - Disclosure - Income Taxes - Schedule of Effective Income Tax Rate Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails</Role>
      <ShortName>Income Taxes - Schedule of Effective Income Tax Rate Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>9954524 - Disclosure - Income Taxes - Schedule of Deferred Tax Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails</Role>
      <ShortName>Income Taxes - Schedule of Deferred Tax Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>9954525 - Disclosure - Income Taxes - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/IncomeTaxesNarrativeDetails</Role>
      <ShortName>Income Taxes - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>9954526 - Disclosure - Income Taxes - Schedule of Unrecognized Tax Benefits Roll Forward (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/IncomeTaxesScheduleofUnrecognizedTaxBenefitsRollForwardDetails</Role>
      <ShortName>Income Taxes - Schedule of Unrecognized Tax Benefits Roll Forward (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>9954527 - Disclosure - Segment and Geographic Area Information - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/SegmentandGeographicAreaInformationNarrativeDetails</Role>
      <ShortName>Segment and Geographic Area Information - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>9954528 - Disclosure - Segment and Geographic Area Information - Revenue and Property and Equipment, Net by Geographic Area (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails</Role>
      <ShortName>Segment and Geographic Area Information - Revenue and Property and Equipment, Net by Geographic Area (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>82</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>9954529 - Disclosure - Net Income Per Share - Basic and Diluted Net Income Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails</Role>
      <ShortName>Net Income Per Share - Basic and Diluted Net Income Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="qlys-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>9954530 - Disclosure - Net Income Per Share - Anti-dilutive Net Income Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails</Role>
      <ShortName>Net Income Per Share - Anti-dilutive Net Income Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="qlys-20231231.htm">qlys-20231231.htm</File>
    <File>qlys-20231231.xsd</File>
    <File>qlys-20231231_cal.xml</File>
    <File>qlys-20231231_def.xml</File>
    <File>qlys-20231231_lab.xml</File>
    <File>qlys-20231231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>qlys-20231231_g1.jpg</File>
    <File>qlys-20231231_g2.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="1">http://fasb.org/srt/2023</BaseTaxonomy>
    <BaseTaxonomy items="1252">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="38">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
    <BaseTaxonomy items="10">http://xbrl.sec.gov/ecd/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>110
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "qlys-20231231.htm": {
   "nsprefix": "qlys",
   "nsuri": "http://www.qualys.com/20231231",
   "dts": {
    "inline": {
     "local": [
      "qlys-20231231.htm"
     ]
    },
    "schema": {
     "local": [
      "qlys-20231231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "qlys-20231231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "qlys-20231231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "qlys-20231231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "qlys-20231231_pre.xml"
     ]
    }
   },
   "keyStandard": 413,
   "keyCustom": 32,
   "axisStandard": 28,
   "axisCustom": 0,
   "memberStandard": 48,
   "memberCustom": 23,
   "hidden": {
    "total": 17,
    "http://fasb.org/us-gaap/2023": 12,
    "http://xbrl.sec.gov/dei/2023": 4,
    "http://xbrl.sec.gov/ecd/2023": 1
   },
   "contextCount": 284,
   "entityCount": 1,
   "segmentCount": 73,
   "elementCount": 735,
   "unitCount": 10,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 1252,
    "http://xbrl.sec.gov/dei/2023": 38,
    "http://xbrl.sec.gov/ecd/2023": 10,
    "http://fasb.org/srt/2023": 1
   },
   "report": {
    "R1": {
     "role": "http://www.qualys.com/role/Cover",
     "longName": "0000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.qualys.com/role/AuditInformation",
     "longName": "0000002 - Document - Audit Information",
     "shortName": "Audit Information",
     "isDefault": "false",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "2",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "dei:AuditorFirmId",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "dei:AuditorFirmId",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.qualys.com/role/ConsolidatedBalanceSheets",
     "longName": "0000003 - Statement - Consolidated Balance Sheets",
     "shortName": "Consolidated Balance Sheets",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.qualys.com/role/ConsolidatedBalanceSheetsParenthetical",
     "longName": "0000004 - Statement - Consolidated Balance Sheets (Parenthetical)",
     "shortName": "Consolidated Balance Sheets (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.qualys.com/role/ConsolidatedStatementsofOperations",
     "longName": "0000005 - Statement - Consolidated Statements of Operations",
     "shortName": "Consolidated Statements of Operations",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:GrossProfit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome",
     "longName": "0000006 - Statement - Consolidated Statements of Comprehensive Income",
     "shortName": "Consolidated Statements of Comprehensive Income",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows",
     "longName": "0000007 - Statement - Consolidated Statements of Cash Flows",
     "shortName": "Consolidated Statements of Cash Flows",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R8": {
     "role": "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity",
     "longName": "0000008 - Statement - Consolidated Statements of Stockholders' Equity",
     "shortName": "Consolidated Statements of Stockholders' Equity",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "8",
     "firstAnchor": {
      "contextRef": "c-10",
      "name": "us-gaap:SharesOutstanding",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-10",
      "name": "us-gaap:SharesOutstanding",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPolicies",
     "longName": "0000009 - Disclosure - The Company and Summary of Significant Accounting Policies",
     "shortName": "The Company and Summary of Significant Accounting Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.qualys.com/role/FairValueofFinancialInstruments",
     "longName": "0000010 - Disclosure - Fair Value of Financial Instruments",
     "shortName": "Fair Value of Financial Instruments",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLoss",
     "longName": "0000011 - Disclosure - Accumulated Other Comprehensive Income (Loss)",
     "shortName": "Accumulated Other Comprehensive Income (Loss)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ComprehensiveIncomeNoteTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ComprehensiveIncomeNoteTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.qualys.com/role/PropertyandEquipmentNet",
     "longName": "0000012 - Disclosure - Property and Equipment, Net",
     "shortName": "Property and Equipment, Net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.qualys.com/role/RevenuefromContractsWithCustomers",
     "longName": "0000013 - Disclosure - Revenue from Contracts With Customers",
     "shortName": "Revenue from Contracts With Customers",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.qualys.com/role/Acquisitions",
     "longName": "0000014 - Disclosure - Acquisitions",
     "shortName": "Acquisitions",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AssetAcquisitionTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AssetAcquisitionTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.qualys.com/role/IntangibleAssetsNet",
     "longName": "0000015 - Disclosure - Intangible Assets, Net",
     "shortName": "Intangible Assets, Net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.qualys.com/role/Leases",
     "longName": "0000016 - Disclosure - Leases",
     "shortName": "Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.qualys.com/role/CommitmentandContingencies",
     "longName": "0000017 - Disclosure - Commitment and Contingencies",
     "shortName": "Commitment and Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensation",
     "longName": "0000018 - Disclosure - Stockholders' Equity and Stock-based Compensation",
     "shortName": "Stockholders' Equity and Stock-based Compensation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.qualys.com/role/EmployeeBenefitPlan",
     "longName": "0000019 - Disclosure - Employee Benefit Plan",
     "shortName": "Employee Benefit Plan",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.qualys.com/role/IncomeTaxes",
     "longName": "0000020 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.qualys.com/role/SegmentandGeographicAreaInformation",
     "longName": "0000021 - Disclosure - Segment and Geographic Area Information",
     "shortName": "Segment and Geographic Area Information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.qualys.com/role/NetIncomePerShare",
     "longName": "0000022 - Disclosure - Net Income Per Share",
     "shortName": "Net Income Per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R24": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "c-284",
      "name": "ecd:NonRule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-284",
      "name": "ecd:NonRule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies",
     "longName": "9954471 - Disclosure - The Company and Summary of Significant Accounting Policies (Policies)",
     "shortName": "The Company and Summary of Significant Accounting Policies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "25",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "qlys:DescriptionOfBusinessPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "qlys:DescriptionOfBusinessPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.qualys.com/role/FairValueofFinancialInstrumentsTables",
     "longName": "9954472 - Disclosure - Fair Value of Financial Instruments (Tables)",
     "shortName": "Fair Value of Financial Instruments (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossTables",
     "longName": "9954473 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Tables)",
     "shortName": "Accumulated Other Comprehensive Income (Loss) (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.qualys.com/role/PropertyandEquipmentNetTables",
     "longName": "9954474 - Disclosure - Property and Equipment, Net (Tables)",
     "shortName": "Property and Equipment, Net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.qualys.com/role/RevenuefromContractsWithCustomersTables",
     "longName": "9954475 - Disclosure - Revenue from Contracts With Customers (Tables)",
     "shortName": "Revenue from Contracts With Customers (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.qualys.com/role/IntangibleAssetsNetTables",
     "longName": "9954476 - Disclosure - Intangible Assets, Net (Tables)",
     "shortName": "Intangible Assets, Net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.qualys.com/role/LeasesTables",
     "longName": "9954477 - Disclosure - Leases (Tables)",
     "shortName": "Leases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.qualys.com/role/CommitmentandContingenciesTables",
     "longName": "9954478 - Disclosure - Commitment and Contingencies (Tables)",
     "shortName": "Commitment and Contingencies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "srt:ContractualObligationFiscalYearMaturityScheduleTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "srt:ContractualObligationFiscalYearMaturityScheduleTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables",
     "longName": "9954479 - Disclosure - Stockholders' Equity and Stock-based Compensation (Tables)",
     "shortName": "Stockholders' Equity and Stock-based Compensation (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.qualys.com/role/IncomeTaxesTables",
     "longName": "9954480 - Disclosure - Income Taxes (Tables)",
     "shortName": "Income Taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.qualys.com/role/SegmentandGeographicAreaInformationTables",
     "longName": "9954481 - Disclosure - Segment and Geographic Area Information (Tables)",
     "shortName": "Segment and Geographic Area Information (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.qualys.com/role/NetIncomePerShareTables",
     "longName": "9954482 - Disclosure - Net Income Per Share (Tables)",
     "shortName": "Net Income Per Share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails",
     "longName": "9954483 - Disclosure - The Company and Summary of Significant Accounting Policies - Narrative (Details)",
     "shortName": "The Company and Summary of Significant Accounting Policies - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:RestrictedCash",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:RestrictedCash",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails",
     "longName": "9954484 - Disclosure - Fair Value of Financial Instruments - Fair Value Hierarchy (Details)",
     "shortName": "Fair Value of Financial Instruments - Fair Value Hierarchy (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDerivativeInstrumentsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-51",
      "name": "us-gaap:MoneyMarketFundsAtCarryingValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails",
     "longName": "9954485 - Disclosure - Fair Value of Financial Instruments - Cash and Cash Equivalents (Details)",
     "shortName": "Fair Value of Financial Instruments - Cash and Cash Equivalents (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "qlys:CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "qlys:CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails",
     "longName": "9954486 - Disclosure - Fair Value of Financial Instruments - Summary of Securities in Unrealized Loss Positions (Details)",
     "shortName": "Fair Value of Financial Instruments - Summary of Securities in Unrealized Loss Positions (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails",
     "longName": "9954487 - Disclosure - Fair Value of Financial Instruments - Summary of the Fair Value of Marketable Securities (Details)",
     "shortName": "Fair Value of Financial Instruments - Summary of the Fair Value of Marketable Securities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails",
     "longName": "9954488 - Disclosure - Fair Value of Financial Instruments - Narrative (Details)",
     "shortName": "Fair Value of Financial Instruments - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "c-86",
      "name": "us-gaap:DerivativeNotionalAmount",
      "unitRef": "eur",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-86",
      "name": "us-gaap:DerivativeNotionalAmount",
      "unitRef": "eur",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails",
     "longName": "9954489 - Disclosure - Fair Value of Financial Instruments - Summary of Derivative Financial Instruments (Details)",
     "shortName": "Fair Value of Financial Instruments - Summary of Derivative Financial Instruments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:ForeignCurrencyContractAssetFairValueDisclosure",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDerivativeInstrumentsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:ForeignCurrencyContractAssetFairValueDisclosure",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDerivativeInstrumentsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails",
     "longName": "9954490 - Disclosure - Fair Value of Financial Instruments - Amounts Recognized In Statement of Operations (Details)",
     "shortName": "Fair Value of Financial Instruments - Amounts Recognized In Statement of Operations (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails",
     "longName": "9954491 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Accumulated Other Comprehensive Income (Loss) (Details)",
     "shortName": "Accumulated Other Comprehensive Income (Loss) - Accumulated Other Comprehensive Income (Loss) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "c-5",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails",
     "longName": "9954492 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Amounts Reclassified from AOCI (Details)",
     "shortName": "Accumulated Other Comprehensive Income (Loss) - Amounts Reclassified from AOCI (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:OtherNonoperatingIncomeExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-109",
      "name": "us-gaap:OtherNonoperatingIncomeExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails",
     "longName": "9954493 - Disclosure - Property and Equipment, Net - Schedule of Property and Equipment, Net (Details)",
     "shortName": "Property and Equipment, Net - Schedule of Property and Equipment, Net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails",
     "longName": "9954494 - Disclosure - Property and Equipment, Net - Narrative (Details)",
     "shortName": "Property and Equipment, Net - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:PropertyPlantAndEquipmentNet",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "qlys:DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.qualys.com/role/RevenuefromContractsWithCustomersNarrativeDetails",
     "longName": "9954495 - Disclosure - Revenue from Contracts With Customers - Narrative (Details)",
     "shortName": "Revenue from Contracts With Customers - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails",
     "longName": "9954496 - Disclosure - Revenue from Contracts with Customers - Expected Revenue from All Remaining Performance Obligations (Details)",
     "shortName": "Revenue from Contracts with Customers - Expected Revenue from All Remaining Performance Obligations (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.qualys.com/role/RevenuefromContractsWithCustomersRevenuebySalesChannelDetails",
     "longName": "9954497 - Disclosure - Revenue from Contracts With Customers - Revenue by Sales Channel (Details)",
     "shortName": "Revenue from Contracts With Customers - Revenue by Sales Channel (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-134",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.qualys.com/role/RevenuefromContractsWithCustomersCapitalizedCosttoObtainContractsCurrentandNoncurrentDetails",
     "longName": "9954498 - Disclosure - Revenue from Contracts With Customers - Capitalized Cost to Obtain Contracts, Current and Noncurrent (Details)",
     "shortName": "Revenue from Contracts With Customers - Capitalized Cost to Obtain Contracts, Current and Noncurrent (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:CapitalizedContractCostNetCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:CapitalizedContractCostTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:CapitalizedContractCostNetCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:CapitalizedContractCostTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.qualys.com/role/AcquisitionsDetails",
     "longName": "9954499 - Disclosure - Acquisitions (Details)",
     "shortName": "Acquisitions (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "c-146",
      "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-144",
      "name": "us-gaap:FinitelivedIntangibleAssetsAcquired1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails",
     "longName": "9954500 - Disclosure - Intangible Assets, Net - Carrying Value of Intangible Assets (Details)",
     "shortName": "Intangible Assets, Net - Carrying Value of Intangible Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock",
       "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock",
       "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.qualys.com/role/IntangibleAssetsNetDetails",
     "longName": "9954501 - Disclosure - Intangible Assets, Net (Details)",
     "shortName": "Intangible Assets, Net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails",
     "longName": "9954502 - Disclosure - Intangible Assets, Net - Expected Amortization Expense in Future Periods (Details)",
     "shortName": "Intangible Assets, Net - Expected Amortization Expense in Future Periods (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.qualys.com/role/LeasesNarrativeDetails",
     "longName": "9954503 - Disclosure - Leases - Narrative (Details)",
     "shortName": "Leases - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:OperatingLeaseExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:OperatingLeaseExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.qualys.com/role/LeasesSupplementalCashFlowInformationDetails",
     "longName": "9954504 - Disclosure - Leases - Supplemental Cash Flow Information (Details)",
     "shortName": "Leases - Supplemental Cash Flow Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:OperatingLeasePayments",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:OperatingLeasePayments",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.qualys.com/role/LeasesWeightedAverageRemainingLeaseTermandWeightedAverageDiscountRateDetails",
     "longName": "9954505 - Disclosure - Leases - Weighted Average Remaining Lease Term and Weighted Average Discount Rate (Details)",
     "shortName": "Leases - Weighted Average Remaining Lease Term and Weighted Average Discount Rate (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "qlys:AssetsAndLiabilitiesLesseeTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "qlys:AssetsAndLiabilitiesLesseeTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails",
     "longName": "9954506 - Disclosure - Leases - Minimum Annual Lease Payments (Details)",
     "shortName": "Leases - Minimum Annual Lease Payments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.qualys.com/role/CommitmentandContingenciesRemainingPurchaseCommitmentsDetails",
     "longName": "9954507 - Disclosure - Commitment and Contingencies - Remaining Purchase Commitments (Details)",
     "shortName": "Commitment and Contingencies - Remaining Purchase Commitments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:PurchaseObligationDueInNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:PurchaseObligationDueInNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R62": {
     "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPreferredStockDetails",
     "longName": "9954508 - Disclosure - Stockholders' Equity and Stock-based Compensation - Preferred Stock (Details)",
     "shortName": "Stockholders' Equity and Stock-based Compensation - Preferred Stock (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:PreferredStockSharesAuthorized",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "us-gaap:PreferredStockSharesAuthorized",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-153",
      "name": "us-gaap:PreferredStockSharesAuthorized",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R63": {
     "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails",
     "longName": "9954509 - Disclosure - Stockholders' Equity and Stock-based Compensation - Equity Incentive Plan (Details)",
     "shortName": "Stockholders' Equity and Stock-based Compensation - Equity Incentive Plan (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-154",
      "name": "qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R64": {
     "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails",
     "longName": "9954510 - Disclosure - Stockholders' Equity and Stock-based Compensation - Summary of Stock-based Compensation Expense (Details)",
     "shortName": "Stockholders' Equity and Stock-based Compensation - Summary of Stock-based Compensation Expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-163",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R65": {
     "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails",
     "longName": "9954511 - Disclosure - Stockholders' Equity and Stock-based Compensation - Stock-based Compensation (Details)",
     "shortName": "Stockholders' Equity and Stock-based Compensation - Stock-based Compensation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R66": {
     "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
     "longName": "9954512 - Disclosure - Stockholders' Equity and Stock-based Compensation - Performance-Based Stock Options and Restricted Stock Units (Details)",
     "shortName": "Stockholders' Equity and Stock-based Compensation - Performance-Based Stock Options and Restricted Stock Units (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R67": {
     "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails",
     "longName": "9954513 - Disclosure - Stockholders' Equity and Stock-based Compensation - Fair Value Assumptions, Stock Options (Details)",
     "shortName": "Stockholders' Equity and Stock-based Compensation - Fair Value Assumptions, Stock Options (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "unitRef": "usdPerShare",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "div",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-231",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R68": {
     "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails",
     "longName": "9954514 - Disclosure - Stockholders' Equity and Stock-based Compensation - Share-based Compensation and Stock Options Activity (Details)",
     "shortName": "Stockholders' Equity and Stock-based Compensation - Share-based Compensation and Stock Options Activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "c-5",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R69": {
     "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails",
     "longName": "9954515 - Disclosure - Stockholders' Equity and Stock-based Compensation - Summary of Restricted Stock Unit Activity (Details)",
     "shortName": "Stockholders' Equity and Stock-based Compensation - Summary of Restricted Stock Unit Activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "c-236",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-180",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R70": {
     "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails",
     "longName": "9954516 - Disclosure - Stockholders' Equity and Stock-based Compensation - Narrative (Details)",
     "shortName": "Stockholders' Equity and Stock-based Compensation - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R71": {
     "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails",
     "longName": "9954517 - Disclosure - Stockholders' Equity and Stock-based Compensation - Employee Stock Purchase Plan, Valuation Assumptions (Details)",
     "shortName": "Stockholders' Equity and Stock-based Compensation - Employee Stock Purchase Plan, Valuation Assumptions (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "unitRef": "usdPerShare",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "div",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-246",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "unitRef": "usdPerShare",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "div",
       "us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R72": {
     "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationScheduleofRepurchaseAgreementsDetails",
     "longName": "9954518 - Disclosure - Stockholders' Equity and Stock-based Compensation - Schedule of Repurchase Agreements (Details)",
     "shortName": "Stockholders' Equity and Stock-based Compensation - Schedule of Repurchase Agreements (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "qlys:ShareRepurchaseProgramTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R73": {
     "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails",
     "longName": "9954519 - Disclosure - Stockholders' Equity and Stock-based Compensation - Share Repurchase Program (Details)",
     "shortName": "Stockholders' Equity and Stock-based Compensation - Share Repurchase Program (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "qlys:ShareRepurchaseProgramTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:StockRepurchasedAndRetiredDuringPeriodShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R74": {
     "role": "http://www.qualys.com/role/EmployeeBenefitPlanDetails",
     "longName": "9954520 - Disclosure - Employee Benefit Plan (Details)",
     "shortName": "Employee Benefit Plan (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "74",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DefinedContributionPlanCostRecognized",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DefinedContributionPlanCostRecognized",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R75": {
     "role": "http://www.qualys.com/role/IncomeTaxesScheduleofIncomebeforeIncomeTaxDomesticandForeignDetails",
     "longName": "9954521 - Disclosure - Income Taxes - Schedule of Income before Income Tax, Domestic and Foreign (Details)",
     "shortName": "Income Taxes - Schedule of Income before Income Tax, Domestic and Foreign (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "75",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R76": {
     "role": "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails",
     "longName": "9954522 - Disclosure - Income Taxes - Schedule of Components of Income Tax Expense (Benefit) (Details)",
     "shortName": "Income Taxes - Schedule of Components of Income Tax Expense (Benefit) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "76",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R77": {
     "role": "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails",
     "longName": "9954523 - Disclosure - Income Taxes - Schedule of Effective Income Tax Rate Reconciliation (Details)",
     "shortName": "Income Taxes - Schedule of Effective Income Tax Rate Reconciliation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "77",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R78": {
     "role": "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails",
     "longName": "9954524 - Disclosure - Income Taxes - Schedule of Deferred Tax Assets and Liabilities (Details)",
     "shortName": "Income Taxes - Schedule of Deferred Tax Assets and Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "78",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R79": {
     "role": "http://www.qualys.com/role/IncomeTaxesNarrativeDetails",
     "longName": "9954525 - Disclosure - Income Taxes - Narrative (Details)",
     "shortName": "Income Taxes - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "79",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:DeferredTaxAssetsValuationAllowance",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:OperatingLossCarryforwards",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R80": {
     "role": "http://www.qualys.com/role/IncomeTaxesScheduleofUnrecognizedTaxBenefitsRollForwardDetails",
     "longName": "9954526 - Disclosure - Income Taxes - Schedule of Unrecognized Tax Benefits Roll Forward (Details)",
     "shortName": "Income Taxes - Schedule of Unrecognized Tax Benefits Roll Forward (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "80",
     "firstAnchor": {
      "contextRef": "c-5",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-9",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R81": {
     "role": "http://www.qualys.com/role/SegmentandGeographicAreaInformationNarrativeDetails",
     "longName": "9954527 - Disclosure - Segment and Geographic Area Information - Narrative (Details)",
     "shortName": "Segment and Geographic Area Information - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "81",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "segment",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "segment",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R82": {
     "role": "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails",
     "longName": "9954528 - Disclosure - Segment and Geographic Area Information - Revenue and Property and Equipment, Net by Geographic Area (Details)",
     "shortName": "Segment and Geographic Area Information - Revenue and Property and Equipment, Net by Geographic Area (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "82",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R83": {
     "role": "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails",
     "longName": "9954529 - Disclosure - Net Income Per Share - Basic and Diluted Net Income Per Share (Details)",
     "shortName": "Net Income Per Share - Basic and Diluted Net Income Per Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "83",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "unique": true
     }
    },
    "R84": {
     "role": "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails",
     "longName": "9954530 - Disclosure - Net Income Per Share - Anti-dilutive Net Income Per Share (Details)",
     "shortName": "Net Income Per Share - Anti-dilutive Net Income Per Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "84",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "qlys-20231231.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AOCIAttributableToParentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AOCIAttributableToParentAbstract",
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reclassification of AOCI - Cash flow hedges",
        "label": "AOCI Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AOCIAttributableToParentNetOfTaxRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AOCIAttributableToParentNetOfTaxRollForward",
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "AOCI Attributable to Parent, Net of Tax [Roll Forward]",
        "label": "AOCI Attributable to Parent, Net of Tax [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounting Policies [Abstract]",
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts payable",
        "label": "Accounts Payable, Current",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r735"
     ]
    },
    "us-gaap_AccountsReceivableNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNet",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable",
        "label": "Accounts Receivable, after Allowance for Credit Loss",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business."
       }
      }
     },
     "auth_ref": [
      "r637",
      "r690",
      "r741",
      "r952"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable, net of allowance of $778 and $736 as of December\u00a031, 2023 and 2022, respectively",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r286",
      "r287"
     ]
    },
    "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Amortization (accretion) of premiums (discount) on marketable securities, net",
        "label": "Accretion (Amortization) of Discounts and Premiums, Investments",
        "documentation": "The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r120"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued liabilities",
        "label": "Accrued Liabilities, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r25"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: accumulated depreciation and amortization",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r60",
      "r197",
      "r589"
     ]
    },
    "us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedGainLossNetCashFlowHedgeParentMember",
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails",
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash flow hedges",
        "label": "Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]",
        "documentation": "Accumulated other comprehensive income (loss) from gain (loss) of derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent."
       }
      }
     },
     "auth_ref": [
      "r209",
      "r217",
      "r218",
      "r481",
      "r709",
      "r846"
     ]
    },
    "us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedNetUnrealizedInvestmentGainLossMember",
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails",
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Available-for-sale debt securities",
        "label": "AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-Sale, Parent [Member]",
        "documentation": "Accumulated unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), attributable to parent."
       }
      }
     },
     "auth_ref": [
      "r205",
      "r206",
      "r207",
      "r209",
      "r217",
      "r218",
      "r846"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems",
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails",
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Line Items]",
        "label": "Accumulated Other Comprehensive Income (Loss) [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r216",
      "r217",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated other comprehensive loss",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r31",
      "r105",
      "r202",
      "r585",
      "r604",
      "r605"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossTable",
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails",
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Table]",
        "label": "Accumulated Other Comprehensive Income (Loss) [Table]",
        "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r216",
      "r217",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails",
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive Income (Loss)",
        "verboseLabel": "Total",
        "label": "AOCI Attributable to Parent [Member]",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r14",
      "r31",
      "r486",
      "r489",
      "r529",
      "r600",
      "r601",
      "r846",
      "r847",
      "r848",
      "r856",
      "r857",
      "r858"
     ]
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional 402(v) Disclosure",
        "label": "Additional 402(v) Disclosure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r789"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional paid-in capital",
        "label": "Additional Paid in Capital",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r97",
      "r735",
      "r956"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional Paid-In Capital",
        "label": "Additional Paid-in Capital [Member]",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r433",
      "r434",
      "r435",
      "r611",
      "r856",
      "r857",
      "r858",
      "r931",
      "r957"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustment to Compensation, Amount",
        "label": "Adjustment to Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r795"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustment to Compensation:",
        "label": "Adjustment to Compensation [Axis]"
       }
      }
     },
     "auth_ref": [
      "r795"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote",
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r795"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustment To PEO Compensation, Footnote",
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r795"
     ]
    },
    "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Taxes related to net share settlement of equity awards",
        "label": "Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation",
        "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r65",
      "r399"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:",
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdvertisingCostsPolicyTextBlock",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Advertising Expenses",
        "label": "Advertising Cost [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for advertising cost."
       }
      }
     },
     "auth_ref": [
      "r166"
     ]
    },
    "us-gaap_AdvertisingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdvertisingExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Advertising expense",
        "label": "Advertising Expense",
        "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line."
       }
      }
     },
     "auth_ref": [
      "r441"
     ]
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate Erroneous Compensation Amount",
        "label": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r759",
      "r771",
      "r781",
      "r807"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined",
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r762",
      "r774",
      "r784",
      "r810"
     ]
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "All Adjustments to Compensation",
        "label": "All Adjustments to Compensation [Member]"
       }
      }
     },
     "auth_ref": [
      "r795"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "All Executive Categories",
        "label": "All Executive Categories [Member]"
       }
      }
     },
     "auth_ref": [
      "r802"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "All Individuals",
        "label": "All Individuals [Member]"
       }
      }
     },
     "auth_ref": [
      "r766",
      "r775",
      "r785",
      "r802",
      "r811",
      "r815",
      "r823"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "All Trading Arrangements",
        "label": "All Trading Arrangements [Member]"
       }
      }
     },
     "auth_ref": [
      "r821"
     ]
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Total stock-based compensation expense, net of amounts capitalized",
        "terseLabel": "Stock-based compensation",
        "label": "Share-Based Payment Arrangement, Expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r431",
      "r440"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable, net of allowance",
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "documentation": "Amount of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r203",
      "r290",
      "r326",
      "r329",
      "r331",
      "r952"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amendment Flag",
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/IntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intangible asset amortization",
        "label": "Amortization of Intangible Assets",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r53",
      "r58"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total anti-dilutive shares (in shares)",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r254"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Antidilutive Securities [Axis]",
        "label": "Antidilutive Securities [Axis]",
        "documentation": "Information by type of antidilutive security."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesNameDomain",
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Antidilutive Securities, Name [Domain]",
        "label": "Antidilutive Securities, Name [Domain]",
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "qlys_AssembledWorkforceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "AssembledWorkforceMember",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails",
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Assembled workforce",
        "label": "Assembled Workforce [Member]",
        "documentation": "Represents Assembled Workforce."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_AssetAcquisitionAcquisitionRelatedCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "AssetAcquisitionAcquisitionRelatedCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquisition related costs",
        "label": "Asset Acquisition, Acquisition Related Costs",
        "documentation": "This element represents acquisition-related costs incurred to effect an acquisition related costs which costs have been expensed during the period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetAcquisitionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetAcquisitionAxis",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asset Acquisition [Axis]",
        "label": "Asset Acquisition [Axis]",
        "documentation": "Information by asset acquisition."
       }
      }
     },
     "auth_ref": [
      "r925"
     ]
    },
    "qlys_AssetAcquisitionConsiderationPayableTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "AssetAcquisitionConsiderationPayableTerm",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Consideration term payable",
        "label": "Asset Acquisition, Consideration Payable, Term",
        "documentation": "Asset Acquisition, Consideration Payable, Term"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetAcquisitionConsiderationTransferred": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetAcquisitionConsiderationTransferred",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Consideration transferred",
        "label": "Asset Acquisition, Consideration Transferred",
        "documentation": "Amount of consideration transferred in asset acquisition. Includes, but is not limited to, cash, liability incurred by acquirer, and equity interest issued by acquirer."
       }
      }
     },
     "auth_ref": [
      "r731",
      "r926",
      "r927",
      "r928"
     ]
    },
    "qlys_AssetAcquisitionConsiderationTransferredPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "AssetAcquisitionConsiderationTransferredPayable",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Consideration payable",
        "label": "Asset Acquisition Consideration Transferred Payable",
        "documentation": "Consideration held in escrow for general presentation and warranties in an asset acquisition, recognized as part of consideration transferred in asset acquisition"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetAcquisitionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetAcquisitionDomain",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asset Acquisition [Domain]",
        "label": "Asset Acquisition [Domain]",
        "documentation": "Asset acquisition."
       }
      }
     },
     "auth_ref": [
      "r925"
     ]
    },
    "qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred revenue acquired",
        "label": "Asset Acquisition Recognized Identifiable Assets Acquired And Liabilities Assumed Current Liabilities Deferred Revenue",
        "documentation": "Amount of deferred revenue expected to be recognized as such within one year or the normal operating cycle, if longer, assumed at the acquisition date."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finite-lived intangibles acquired",
        "label": "Asset Acquisition, Recognized Identifiable Assets Acquired And Liabilities Assumed, Finite Lived Intangibles",
        "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetAcquisitionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetAcquisitionTextBlock",
     "presentation": [
      "http://www.qualys.com/role/Acquisitions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquisitions",
        "label": "Asset Acquisition [Text Block]",
        "documentation": "The entire disclosure for asset acquisition."
       }
      }
     },
     "auth_ref": [
      "r925"
     ]
    },
    "qlys_AssetAcquisitionsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "AssetAcquisitionsPolicyTextBlock",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asset Acquisitions",
        "label": "Asset Acquisitions [Policy Text Block]",
        "documentation": "Asset Acquisitions"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetBackedSecuritiesAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetBackedSecuritiesAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails": {
       "parentTag": "us-gaap_FinancialInstrumentsOwnedAtFairValue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asset-backed securities",
        "label": "Asset-Backed Securities, at Carrying Value",
        "documentation": "Investments in notes or bonds that are collateralized by a specific group of underlying assets owned by the issuer of the notes or bonds which are short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetBackedSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetBackedSecuritiesMember",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asset-backed securities",
        "label": "Asset-Backed Securities [Member]",
        "documentation": "Securities that are primarily serviced by the cash flows of a discrete pool of receivables or other financial assets for example, but not limited to, credit card receivables, car loans, recreational vehicle loans, and mobile home loans."
       }
      }
     },
     "auth_ref": [
      "r723",
      "r865",
      "r869",
      "r870"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total assets",
        "label": "Assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r150",
      "r201",
      "r226",
      "r263",
      "r272",
      "r277",
      "r323",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r479",
      "r482",
      "r502",
      "r580",
      "r642",
      "r735",
      "r748",
      "r887",
      "r888",
      "r940"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Assets",
        "label": "Assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "qlys_AssetsAndLiabilitiesLesseeTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "AssetsAndLiabilitiesLesseeTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Weighted Average Remaining Lease Term and Weighted Average Discount Rate",
        "label": "Assets And Liabilities, Lessee [Table Text Block]",
        "documentation": "Assets And Liabilities, Lessee [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current assets",
        "label": "Assets, Current",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r193",
      "r204",
      "r226",
      "r323",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r479",
      "r482",
      "r502",
      "r735",
      "r887",
      "r888",
      "r940"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current assets:",
        "label": "Assets, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://www.qualys.com/role/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Auditor Firm ID",
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r753",
      "r754",
      "r767"
     ]
    },
    "qlys_AuditorInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "AuditorInformationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Information [Abstract]",
        "documentation": "Auditor Information"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorLocation",
     "presentation": [
      "http://www.qualys.com/role/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Auditor Location",
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r753",
      "r754",
      "r767"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorName",
     "presentation": [
      "http://www.qualys.com/role/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Auditor Name",
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r753",
      "r754",
      "r767"
     ]
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails": {
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrealized Gains",
        "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax",
        "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r297"
     ]
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails": {
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Unrealized Losses",
        "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax",
        "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r298"
     ]
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Amortized Cost",
        "label": "Debt Securities, Available-for-Sale, Amortized Cost",
        "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r294",
      "r335",
      "r579"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": {
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Mature over Two Years",
        "label": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, after Year 5 Through 10",
        "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in sixth through tenth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r868"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": {
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Mature over Two Years",
        "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year 5 Through 10",
        "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in sixth through tenth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r303",
      "r576"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": {
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Due after One Year through Two Years",
        "label": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, after Year One Through Five",
        "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r867"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": {
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Due after One Year through Two Years",
        "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year One Through Five",
        "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r302",
      "r575"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": {
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Due within One Year",
        "label": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One",
        "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r866"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": {
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Due within One Year",
        "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One",
        "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r301",
      "r574"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": {
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asset-backed securities",
        "label": "Debt Securities, Available-for-Sale, Maturity, without Single Maturity Date, Amortized Cost",
        "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), without single maturity date and not allocated over maturity grouping."
       }
      }
     },
     "auth_ref": [
      "r864",
      "r865"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": {
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asset-backed securities",
        "label": "Debt Securities, Available-for-Sale, Maturity, without Single Maturity Date, Fair Value",
        "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), without single maturity date and not allocated over maturity grouping."
       }
      }
     },
     "auth_ref": [
      "r300",
      "r573",
      "r864"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesDebtSecurities",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails": {
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value",
        "totalLabel": "Total",
        "label": "Debt Securities, Available-for-Sale",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r295",
      "r335",
      "r568",
      "r862"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesDebtSecuritiesCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Short-term marketable securities",
        "label": "Debt Securities, Available-for-Sale, Current",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current."
       }
      }
     },
     "auth_ref": [
      "r292",
      "r335"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesDebtSecuritiesNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-term marketable securities",
        "label": "Debt Securities, Available-for-Sale, Noncurrent",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r196",
      "r292",
      "r335"
     ]
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exercise Price",
        "label": "Award Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r818"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value as of Grant Date",
        "label": "Award Grant Date Fair Value"
       }
      }
     },
     "auth_ref": [
      "r819"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r814"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Timing, How MNPI Considered",
        "label": "Award Timing, How MNPI Considered [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r814"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Timing Method",
        "label": "Award Timing Method [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r814"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Timing MNPI Considered",
        "label": "Award Timing MNPI Considered [Flag]"
       }
      }
     },
     "auth_ref": [
      "r814"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Timing MNPI Disclosure",
        "label": "Award Timing MNPI Disclosure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r814"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Timing Predetermined",
        "label": "Award Timing Predetermined [Flag]"
       }
      }
     },
     "auth_ref": [
      "r814"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Type [Axis]",
        "label": "Award Type [Axis]",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r402",
      "r403",
      "r404",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Underlying Securities",
        "label": "Award Underlying Securities Amount"
       }
      }
     },
     "auth_ref": [
      "r817"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r816"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Awards Close in Time to MNPI Disclosures",
        "label": "Awards Close in Time to MNPI Disclosures [Table]"
       }
      }
     },
     "auth_ref": [
      "r815"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Awards Close in Time to MNPI Disclosures, Table",
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]"
       }
      }
     },
     "auth_ref": [
      "r815"
     ]
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basis of Presentation",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "The Company and Summary of Significant Accounting Policies",
        "label": "Basis of Presentation and Significant Accounting Policies [Text Block]",
        "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r121"
     ]
    },
    "qlys_BlueHexagonIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "BlueHexagonIncMember",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Blue Hexagon Inc",
        "label": "Blue Hexagon Inc [Member]",
        "documentation": "Represents Blue Hexagon Inc ."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionLineItems",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Acquisition [Line Items]",
        "label": "Business Acquisition [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r477"
     ]
    },
    "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationAndAssetAcquisitionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination and Asset Acquisition [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationsPolicy",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Combinations",
        "label": "Business Combinations Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy."
       }
      }
     },
     "auth_ref": [
      "r69"
     ]
    },
    "us-gaap_CapitalExpendituresIncurredButNotYetPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalExpendituresIncurredButNotYetPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purchases of property and equipment recorded in accounts payable and accrued liabilities",
        "label": "Capital Expenditures Incurred but Not yet Paid",
        "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r39",
      "r40"
     ]
    },
    "us-gaap_CapitalizedContractCostAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedContractCostAmortization",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractsWithCustomersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization expense related to deferred costs",
        "label": "Capitalized Contract Cost, Amortization",
        "documentation": "Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer."
       }
      }
     },
     "auth_ref": [
      "r343"
     ]
    },
    "us-gaap_CapitalizedContractCostAmortizationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedContractCostAmortizationPeriod",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capitalized commission cost",
        "label": "Capitalized Contract Cost, Amortization Period",
        "documentation": "Amortization period of cost capitalized in obtaining or fulfilling contract with customer, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r834"
     ]
    },
    "us-gaap_CapitalizedContractCostImpairmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedContractCostImpairmentLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractsWithCustomersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment loss",
        "label": "Capitalized Contract Cost, Impairment Loss",
        "documentation": "Amount of impairment loss for asset recognized from cost incurred to obtain or fulfill contract with customer."
       }
      }
     },
     "auth_ref": [
      "r343"
     ]
    },
    "us-gaap_CapitalizedContractCostNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedContractCostNetCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractsWithCustomersCapitalizedCosttoObtainContractsCurrentandNoncurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current",
        "label": "Capitalized Contract Cost, Net, Current",
        "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as current."
       }
      }
     },
     "auth_ref": [
      "r342"
     ]
    },
    "us-gaap_CapitalizedContractCostNetNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedContractCostNetNoncurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractsWithCustomersCapitalizedCosttoObtainContractsCurrentandNoncurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Noncurrent",
        "label": "Capitalized Contract Cost, Net, Noncurrent",
        "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r342"
     ]
    },
    "us-gaap_CapitalizedContractCostTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedContractCostTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractsWithCustomersTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Deferred Costs to Obtain Contracts",
        "label": "Capitalized Contract Cost [Table Text Block]",
        "documentation": "Tabular disclosure of cost capitalized in obtaining or fulfilling contract with customer."
       }
      }
     },
     "auth_ref": [
      "r878"
     ]
    },
    "us-gaap_Cash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Cash",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash excluded",
        "label": "Cash",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r164",
      "r582",
      "r612",
      "r636",
      "r735",
      "r748",
      "r843"
     ]
    },
    "qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Cash Equivalents and Marketable Securities",
        "label": "Cash and Cash Equivalents and Debt Securities, Available-for-sale, Amortized Cost to Fair Value [Table Text Block]",
        "documentation": "Tabular disclosure of cash and cash equivalents and debt securities available-for-sale amortized cost to fair value."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and cash equivalents",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r195",
      "r707"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAxis",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and Cash Equivalents [Axis]",
        "label": "Cash and Cash Equivalents [Axis]",
        "documentation": "Information by type of cash and cash equivalent balance."
       }
      }
     },
     "auth_ref": [
      "r195"
     ]
    },
    "qlys_CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash, Cash Equivalents, Restricted cash and Short-Term and Long-Term Marketable Securities",
        "label": "Cash, Cash Equivalents and Short-Term and Long-Term Investments Policy [Policy Text Block]",
        "documentation": "Accounting policies disclosure for cash, cash equivalent and short-term and long-term investments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash, cash equivalents and restricted cash at beginning of period",
        "periodEndLabel": "Cash, cash equivalents and restricted cash at end of period",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r118",
      "r225"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net increase in cash, cash equivalents and restricted cash",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r118"
     ]
    },
    "us-gaap_CashEquivalentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashEquivalentsMember",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash Equivalents",
        "label": "Cash Equivalents [Member]",
        "documentation": "Short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r195"
     ]
    },
    "us-gaap_CashFlowHedgingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashFlowHedgingMember",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash Flow Hedging",
        "label": "Cash Flow Hedging [Member]",
        "documentation": "Hedge of the exposure to variability in the cash flows of a recognized asset or liability, or of a forecasted transaction, that is attributable to a particular risk."
       }
      }
     },
     "auth_ref": [
      "r75"
     ]
    },
    "qlys_CashHeldInEscrowWithBlueHexagonAcquisitionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "CashHeldInEscrowWithBlueHexagonAcquisitionMember",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash Held in Escrow With Blue Hexagon Acquisition",
        "label": "Cash Held in Escrow With Blue Hexagon Acquisition [Member]",
        "documentation": "Represents Cash Held in Escrow With Blue Hexagon Acquisition."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Changed Peer Group, Footnote",
        "label": "Changed Peer Group, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "City Area Code",
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Company Selected Measure Amount",
        "label": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r794"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Company Selected Measure Name",
        "label": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r794"
     ]
    },
    "us-gaap_CommercialPaperAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommercialPaperAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails": {
       "parentTag": "us-gaap_FinancialInstrumentsOwnedAtFairValue",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commercial paper",
        "label": "Commercial Paper, at Carrying Value",
        "documentation": "Unsecured short-term debt instrument issued by corporations which are highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommercialPaperNotIncludedWithCashAndCashEquivalentsMember",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commercial paper",
        "label": "Commercial Paper, Not Included with Cash and Cash Equivalents [Member]",
        "documentation": "Unsecured promissory note (generally negotiable) that provides institutions with short-term funds that is excluded from cash and cash equivalents."
       }
      }
     },
     "auth_ref": [
      "r891",
      "r932"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitments and contingencies (Note 9)",
        "label": "Commitments and Contingencies",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r90",
      "r581",
      "r627"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://www.qualys.com/role/CommitmentandContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitment and Contingencies",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r353",
      "r354",
      "r691",
      "r886"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common Stock",
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r738",
      "r739",
      "r740",
      "r742",
      "r743",
      "r744",
      "r745",
      "r856",
      "r857",
      "r931",
      "r955",
      "r957"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, par value (in USD per share)",
        "label": "Common Stock, Par or Stated Value Per Share",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r96"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, authorized (in shares)",
        "label": "Common Stock, Shares Authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r628"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, issued (in shares)",
        "label": "Common Stock, Shares, Issued",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r96"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, outstanding (in shares)",
        "label": "Common Stock, Shares, Outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r96",
      "r628",
      "r648",
      "r957",
      "r958"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock: $0.001 par value; 1,000,000 shares authorized, 36,909 and 37,362 shares issued and outstanding as of December\u00a031, 2023 and 2022, respectively",
        "label": "Common Stock, Value, Issued",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r584",
      "r735"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Actually Paid vs. Company Selected Measure",
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r799"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Actually Paid vs. Net Income",
        "label": "Compensation Actually Paid vs. Net Income [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r798"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Actually Paid vs. Other Measure",
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r800"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return",
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r797"
     ]
    },
    "us-gaap_CompensationAndEmployeeBenefitPlansTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CompensationAndEmployeeBenefitPlansTextBlock",
     "presentation": [
      "http://www.qualys.com/role/EmployeeBenefitPlan"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee Benefit Plan",
        "label": "Compensation and Employee Benefit Plans [Text Block]",
        "documentation": "The entire disclosure for an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit plans."
       }
      }
     },
     "auth_ref": [
      "r133",
      "r134",
      "r135",
      "r136"
     ]
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Benefits [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Comprehensive income",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r212",
      "r214",
      "r220",
      "r570",
      "r595"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTaxAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNoteTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNoteTextBlock",
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive Income (Loss)",
        "label": "Comprehensive Income (Loss) Note [Text Block]",
        "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income."
       }
      }
     },
     "auth_ref": [
      "r104",
      "r219",
      "r569",
      "r593"
     ]
    },
    "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomePolicyPolicyTextBlock",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Comprehensive Income (Loss)",
        "label": "Comprehensive Income, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for comprehensive income."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComputerEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComputerEquipmentMember",
     "presentation": [
      "http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Computer equipment",
        "label": "Computer Equipment [Member]",
        "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComputerSoftwareIntangibleAssetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComputerSoftwareIntangibleAssetMember",
     "presentation": [
      "http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Computer software",
        "label": "Computer Software, Intangible Asset [Member]",
        "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks."
       }
      }
     },
     "auth_ref": [
      "r705",
      "r881",
      "r882"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration of Credit Risk",
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r169"
     ]
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractsWithCustomersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred revenue",
        "label": "Contract with Customer, Liability",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r373",
      "r374",
      "r385"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred revenues, current",
        "label": "Contract with Customer, Liability, Current",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r373",
      "r374",
      "r385"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred revenues, noncurrent",
        "label": "Contract with Customer, Liability, Noncurrent",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r373",
      "r374",
      "r385"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractsWithCustomersNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenues recognized",
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due."
       }
      }
     },
     "auth_ref": [
      "r386"
     ]
    },
    "us-gaap_ContractWithCustomerSalesChannelAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerSalesChannelAxis",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractsWithCustomersRevenuebySalesChannelDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract with Customer, Sales Channel [Axis]",
        "label": "Contract with Customer, Sales Channel [Axis]",
        "documentation": "Information by sales channel for delivery of good or service in contract with customer."
       }
      }
     },
     "auth_ref": [
      "r722",
      "r890"
     ]
    },
    "us-gaap_ContractWithCustomerSalesChannelDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerSalesChannelDomain",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractsWithCustomersRevenuebySalesChannelDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract with Customer, Sales Channel [Domain]",
        "label": "Contract with Customer, Sales Channel [Domain]",
        "documentation": "Sales channel for delivery of good or service in contract with customer. Includes, but is not limited to, directly to consumer and through intermediary."
       }
      }
     },
     "auth_ref": [
      "r722",
      "r890"
     ]
    },
    "srt_ContractualObligationFiscalYearMaturityScheduleTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ContractualObligationFiscalYearMaturityScheduleTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/CommitmentandContingenciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Commitment and Contingencies",
        "label": "Contractual Obligation, Fiscal Year Maturity [Table Text Block]",
        "documentation": "Tabular disclosure of contractual obligation by timing of payment due. Includes, but is not limited to, long-term debt obligation, lease obligation, and purchase obligation."
       }
      }
     },
     "auth_ref": [
      "r855"
     ]
    },
    "us-gaap_CorporateDebtSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CorporateDebtSecuritiesMember",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Corporate bonds",
        "label": "Corporate Debt Securities [Member]",
        "documentation": "Debt securities issued by domestic or foreign corporate business, banks and other entities with a promise of repayment."
       }
      }
     },
     "auth_ref": [
      "r723",
      "r725",
      "r954"
     ]
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfRevenue",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      },
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails",
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost of revenues",
        "negatedLabel": "Cost of revenues",
        "label": "Cost of Revenue",
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r111",
      "r226",
      "r323",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r502",
      "r887"
     ]
    },
    "us-gaap_CostOfSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfSalesMember",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost of revenues",
        "label": "Cost of Sales [Member]",
        "documentation": "Primary financial statement caption encompassing cost of sales."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentFederalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal",
        "label": "Current Federal Tax Expense (Benefit)",
        "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r835",
      "r854",
      "r923"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current Fiscal Year End Date",
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentForeignTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentForeignTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign",
        "label": "Current Foreign Tax Expense (Benefit)",
        "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r835",
      "r854"
     ]
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Current income tax provision",
        "label": "Current Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r144",
      "r465",
      "r471",
      "r854"
     ]
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current",
        "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State",
        "label": "Current State and Local Tax Expense (Benefit)",
        "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r835",
      "r854",
      "r923"
     ]
    },
    "us-gaap_DebtSecuritiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAbstract",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total",
        "label": "Debt Securities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails": {
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair value",
        "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for more than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r161",
      "r339",
      "r716"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails": {
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Gross unrealized losses",
        "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss",
        "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for 12 months or longer, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r161",
      "r339"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails": {
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair value",
        "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r161",
      "r339",
      "r716"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails": {
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Gross unrealized losses",
        "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss",
        "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r161",
      "r339"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPosition",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Fair value",
        "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position without allowance for credit loss."
       }
      }
     },
     "auth_ref": [
      "r159",
      "r337",
      "r716"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTotalLabel": "Gross unrealized losses",
        "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position, Accumulated Loss",
        "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r338"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Gross Unrealized Losses and Fair Value of Marketable Securities",
        "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position, Fair Value [Table Text Block]",
        "documentation": "Tabular disclosure of fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r158",
      "r716",
      "r877"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableforsaleAmortizedCostAbstract",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortized Cost",
        "label": "Debt Securities, Available-for-Sale, Amortized Cost [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtSecuritiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesCurrentAbstract",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Less than 12 months",
        "label": "Debt Securities, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesHeldToMaturityFairValueAbstract",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value",
        "label": "Debt Securities, Held-to-Maturity, Fair Value [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtSecuritiesNoncurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesNoncurrentAbstract",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "12 months or longer",
        "label": "Debt Securities, Noncurrent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal",
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r854",
      "r922",
      "r923"
     ]
    },
    "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredForeignIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign",
        "label": "Deferred Foreign Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r144",
      "r854",
      "r922"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax assets, net",
        "label": "Deferred Income Tax Assets, Net",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r447",
      "r448"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred income tax benefit",
        "label": "Deferred Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r144",
      "r178",
      "r470",
      "r471",
      "r854"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred",
        "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTotalLabel": "Total deferred tax liabilities",
        "label": "Deferred Tax Liabilities, Gross",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r94",
      "r151",
      "r459"
     ]
    },
    "us-gaap_DeferredIncomeTaxesAndTaxCredits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxesAndTaxCredits",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred income taxes",
        "label": "Deferred Income Taxes and Tax Credits",
        "documentation": "Amount of deferred income tax expense (benefit) and income tax credits."
       }
      }
     },
     "auth_ref": [
      "r120"
     ]
    },
    "qlys_DeferredLiabilitiesRightofuseAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "DeferredLiabilitiesRightofuseAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Operating leases - right of use asset",
        "label": "qlys_DeferredLiabilitiesRightofuseAssets",
        "documentation": "Represents the deferred liabilities right-of-use-assets."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State",
        "label": "Deferred State and Local Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r854",
      "r922",
      "r923"
     ]
    },
    "us-gaap_DeferredTaxAssetsDeferredIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsDeferredIncome",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred revenues",
        "label": "Deferred Tax Assets, Deferred Income",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred income."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r921"
     ]
    },
    "us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGoodwillAndIntangibleAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intangible assets",
        "label": "Deferred Tax Assets, Goodwill and Intangible Assets",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from intangible assets including goodwill."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross deferred tax assets",
        "label": "Deferred Tax Assets, Gross",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r460"
     ]
    },
    "us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsInProcessResearchAndDevelopment",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capitalized research and development",
        "label": "Deferred Tax Assets, in Process Research and Development",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r921"
     ]
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net deferred tax assets",
        "label": "Deferred Tax Assets, Net",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r920"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total deferred tax assets",
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r920"
     ]
    },
    "us-gaap_DeferredTaxAssetsNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsNetAbstract",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax assets",
        "label": "Deferred Tax Assets, Net [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "qlys_DeferredTaxAssetsOperatingLeaseLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "DeferredTaxAssetsOperatingLeaseLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease liabilities",
        "label": "qlys_DeferredTaxAssetsOperatingLeaseLiabilities",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from operating lease liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOther",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Deferred Tax Assets, Other",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r921"
     ]
    },
    "us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fixed assets",
        "label": "Deferred Tax Assets, Property, Plant and Equipment",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxCreditCarryforwardsResearch",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Research and development credit carryforwards",
        "label": "Deferred Tax Assets, Tax Credit Carryforwards, Research",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r67",
      "r921"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r921"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued liabilities",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r921"
     ]
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesNarrativeDetails",
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Valuation allowance",
        "terseLabel": "Valuation allowance",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized."
       }
      }
     },
     "auth_ref": [
      "r461"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesAbstract",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax liabilities",
        "label": "Deferred Tax Liabilities, Gross [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "qlys_DeferredTaxLiabilitiesDeferredCommission": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "DeferredTaxLiabilitiesDeferredCommission",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Deferred commissions",
        "label": "qlys_DeferredTaxLiabilitiesDeferredCommission",
        "documentation": "Represents the deferred tax liabilities deferred commission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Fixed assets",
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r921"
     ]
    },
    "us-gaap_DefinedContributionPlanCostRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanCostRecognized",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/EmployeeBenefitPlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "401(k) plan contribution",
        "label": "Defined Contribution Plan, Cost",
        "documentation": "Amount of cost for defined contribution plan."
       }
      }
     },
     "auth_ref": [
      "r395"
     ]
    },
    "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/EmployeeBenefitPlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contribution amount",
        "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount",
        "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation and amortization expense",
        "label": "Depreciation, Depletion and Amortization",
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r267"
     ]
    },
    "qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation and amortization",
        "label": "qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization",
        "documentation": "Represents amount of depreciation, depletion and amortization excluding intangible asset amortization."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeContractTypeDomain",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Derivative Contract [Domain]",
        "label": "Derivative Contract [Domain]",
        "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset."
       }
      }
     },
     "auth_ref": [
      "r617",
      "r619",
      "r633",
      "r634",
      "r635",
      "r638",
      "r639",
      "r640",
      "r641",
      "r643",
      "r644",
      "r645",
      "r646",
      "r656",
      "r657",
      "r658",
      "r659",
      "r662",
      "r663",
      "r664",
      "r665",
      "r679",
      "r680",
      "r681",
      "r682",
      "r738",
      "r740"
     ]
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeInstrumentRiskAxis",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Derivative Instrument [Axis]",
        "label": "Derivative Instrument [Axis]",
        "documentation": "Information by type of derivative contract."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r79",
      "r80",
      "r82",
      "r617",
      "r619",
      "r633",
      "r634",
      "r635",
      "r638",
      "r639",
      "r640",
      "r641",
      "r643",
      "r644",
      "r645",
      "r646",
      "r656",
      "r657",
      "r658",
      "r659",
      "r662",
      "r663",
      "r664",
      "r665",
      "r679",
      "r680",
      "r681",
      "r682",
      "r708",
      "r738",
      "r740"
     ]
    },
    "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipAxis",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Hedging Relationship [Axis]",
        "label": "Hedging Relationship [Axis]",
        "documentation": "Information by type of hedging relationship."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r77",
      "r80"
     ]
    },
    "us-gaap_DerivativeNotionalAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeNotionalAmount",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Derivative, notional amount",
        "label": "Derivative, Notional Amount",
        "documentation": "Nominal or face amount used to calculate payment on derivative."
       }
      }
     },
     "auth_ref": [
      "r929",
      "r930"
     ]
    },
    "us-gaap_DerivativeTermOfContract": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeTermOfContract",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Derivative financial instrument term",
        "label": "Derivative, Term of Contract",
        "documentation": "Period the derivative contract is outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativesFairValueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativesFairValueLineItems",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value [Line Items]",
        "label": "Derivatives, Fair Value [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativesReportingOfDerivativeActivity": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativesReportingOfDerivativeActivity",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Derivative Financial Instruments",
        "label": "Derivatives, Reporting of Derivative Activity [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for derivatives entered into for trading purposes and those entered into for purposes other than trading including where and when derivative financial instruments and derivative commodity instruments and their related gains or losses are reported in the entity's statements of financial position, cash flows, and results of operations."
       }
      }
     },
     "auth_ref": [
      "r72"
     ]
    },
    "qlys_DescriptionOfBusinessPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "DescriptionOfBusinessPolicyPolicyTextBlock",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Description Of Business",
        "label": "Description Of Business Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for description of business."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DesignatedAsHedgingInstrumentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DesignatedAsHedgingInstrumentMember",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Designated as Hedging Instrument",
        "verboseLabel": "Foreign currency forward contracts designated as cash flow hedge",
        "label": "Designated as Hedging Instrument [Member]",
        "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP)."
       }
      }
     },
     "auth_ref": [
      "r16"
     ]
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DevelopedTechnologyRightsMember",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails",
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Developed technology",
        "label": "Developed Technology Rights [Member]",
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property."
       }
      }
     },
     "auth_ref": [
      "r145"
     ]
    },
    "us-gaap_DilutiveSecuritiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DilutiveSecuritiesAbstract",
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Effect of potentially dilutive shares:",
        "label": "Dilutive Securities, Effect on Basic Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractsWithCustomersTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Revenue by Sales Channel",
        "label": "Disaggregation of Revenue [Table Text Block]",
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r890"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Annual Report",
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r753",
      "r754",
      "r767"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Financial Statement Error Correction",
        "label": "Document Financial Statement Error Correction [Flag]",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r753",
      "r754",
      "r767",
      "r803"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Fiscal Period Focus",
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Fiscal Year Focus",
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Period End Date",
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Transition Report",
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r788"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Type",
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Documents Incorporated by Reference",
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r751"
     ]
    },
    "qlys_ESPPSharesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "ESPPSharesMember",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "ESPP Shares",
        "label": "ESPP Shares [Member]",
        "documentation": "Represents information regarding ESPP shares."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net income per share:",
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations",
      "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basic (in USD per share)",
        "label": "Earnings Per Share, Basic",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r221",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r243",
      "r245",
      "r251",
      "r252",
      "r253",
      "r257",
      "r493",
      "r494",
      "r571",
      "r596",
      "r712"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations",
      "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Diluted (in USD per share)",
        "label": "Earnings Per Share, Diluted",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r221",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r245",
      "r251",
      "r252",
      "r253",
      "r257",
      "r493",
      "r494",
      "r571",
      "r596",
      "r712"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net Income Per Share",
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r42"
     ]
    },
    "us-gaap_EarningsPerShareReconciliationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareReconciliationAbstract",
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net income per share:",
        "label": "Earnings Per Share Reconciliation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net Income Per Share",
        "label": "Earnings Per Share [Text Block]",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r242",
      "r254",
      "r255",
      "r256"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income tax provision",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r450"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal statutory rate",
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r228",
      "r450",
      "r473"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Change in valuation allowance",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r918",
      "r924"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationFdiiPercent",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Foreign-derived intangible income deduction",
        "label": "Effective Income Tax Rate Reconciliation, FDII, Percent",
        "documentation": "Percentage of reported income tax benefit from difference to income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to foreign-derived intangible income (FDII)."
       }
      }
     },
     "auth_ref": [
      "r918"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign source income",
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile."
       }
      }
     },
     "auth_ref": [
      "r918",
      "r924"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Percent",
        "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r918",
      "r924"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrual to return adjustments and Other",
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments."
       }
      }
     },
     "auth_ref": [
      "r918",
      "r924"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Excess tax benefits related to stock-based compensation",
        "label": "Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-Based Payment Arrangement, Percent",
        "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r830",
      "r918"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State taxes",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r918",
      "r924"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditsResearch",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Federal and state research and development credit",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit."
       }
      }
     },
     "auth_ref": [
      "r918",
      "r924"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized stock-based compensation expense",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r432"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Recognition period, years",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r432"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income tax benefit",
        "label": "Share-Based Payment Arrangement, Expense, Tax Benefit",
        "documentation": "Amount of tax benefit for recognition of expense of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r431"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-Based Payment Arrangement, Exercise of Option, Tax Benefit",
        "label": "Share-Based Payment Arrangement, Exercise of Option, Tax Benefit",
        "documentation": "Amount of tax benefit from exercise of option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r175"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock options",
        "label": "Employee Stock Option [Member]",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Eligible compensation contributable, percentage",
        "label": "Employee Stock Purchase Plan, Percentage Of Eligible Compensation Contributable",
        "documentation": "Represents the percentage of employee's eligible compensation that can be used to contribute, through payroll withholding, to an employee stock purchase plan."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_EmployeeStockPurchasePlanSharesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "EmployeeStockPurchasePlanSharesMember",
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee stock purchase plan",
        "label": "Employee Stock Purchase Plan Shares [Member]",
        "documentation": "Represents information regarding employee stock purchase plan shares."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, Address Line One",
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, City or Town",
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, Postal Zip Code",
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, State or Province",
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Central Index Key",
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r750"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Common Stock, Shares Outstanding",
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Current Reporting Status",
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Emerging Growth Company",
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r750"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity File Number",
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Filer Category",
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r750"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Incorporation, State or Country Code",
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Interactive Data Current",
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r828"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Public Float",
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Registrant Name",
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r750"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Shell Company",
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r750"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Small Business",
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r750"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Tax Identification Number",
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r750"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Voluntary Filers",
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Well-known Seasoned Issuer",
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r829"
     ]
    },
    "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractsWithCustomersRevenuebySalesChannelDetails",
      "http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue from External Customer [Line Items]",
        "label": "Revenue from External Customer [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails",
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails",
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Component [Domain]",
        "label": "Equity Component [Domain]",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r191",
      "r216",
      "r217",
      "r218",
      "r229",
      "r230",
      "r231",
      "r233",
      "r239",
      "r241",
      "r258",
      "r324",
      "r325",
      "r372",
      "r433",
      "r434",
      "r435",
      "r466",
      "r467",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r492",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r529",
      "r600",
      "r601",
      "r602",
      "r611",
      "r669"
     ]
    },
    "us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquitySecuritiesFvNiUnrealizedGainLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Loss on non-marketable securities",
        "label": "Equity Securities, FV-NI, Unrealized Gain (Loss)",
        "documentation": "Amount of unrealized gain (loss) on investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI)."
       }
      }
     },
     "auth_ref": [
      "r597",
      "r875"
     ]
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Valuation Assumption Difference, Footnote",
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r796"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Erroneous Compensation Analysis",
        "label": "Erroneous Compensation Analysis [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r759",
      "r771",
      "r781",
      "r807"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Erroneously Awarded Compensation Recovery",
        "label": "Erroneously Awarded Compensation Recovery [Table]"
       }
      }
     },
     "auth_ref": [
      "r756",
      "r768",
      "r778",
      "r804"
     ]
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Executive Category:",
        "label": "Executive Category [Axis]"
       }
      }
     },
     "auth_ref": [
      "r802"
     ]
    },
    "qlys_ExecutiveOfficer1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "ExecutiveOfficer1Member",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Executive Officer 1",
        "label": "Executive Officer 1 [Member]",
        "documentation": "Represents executive officer 1."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_ExecutiveOfficer2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "ExecutiveOfficer2Member",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Executive Officer 2",
        "label": "Executive Officer 2 [Member]",
        "documentation": "Represents executive officer 2."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_ExecutiveOfficer3Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "ExecutiveOfficer3Member",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Executive Officer 3",
        "label": "Executive Officer 3 [Member]",
        "documentation": "Represents executive officer 3."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_ExecutiveOfficer4Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "ExecutiveOfficer4Member",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Executive Officer 4",
        "label": "Executive Officer 4 [Member]",
        "documentation": "Represents executive 4."
       }
      }
     },
     "auth_ref": []
    },
    "srt_ExecutiveOfficerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ExecutiveOfficerMember",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Executive Officer",
        "label": "Executive Officer [Member]",
        "documentation": "Person with designation of executive officer."
       }
      }
     },
     "auth_ref": [
      "r861"
     ]
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Fair Value Hierarchy of Financial Assets and Liabilities",
        "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]",
        "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r148"
     ]
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asset Class [Domain]",
        "label": "Asset Class [Domain]",
        "documentation": "Class of asset."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "us-gaap_FairValueByAssetClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueByAssetClassAxis",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asset Class [Axis]",
        "label": "Asset Class [Axis]",
        "documentation": "Information by class of asset."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r87"
     ]
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Hierarchy and NAV [Axis]",
        "label": "Fair Value Hierarchy and NAV [Axis]",
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient."
       }
      }
     },
     "auth_ref": [
      "r368",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r497",
      "r534",
      "r535",
      "r536",
      "r718",
      "r719",
      "r723",
      "r724",
      "r725"
     ]
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueByMeasurementFrequencyAxis",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Measurement Frequency [Axis]",
        "label": "Measurement Frequency [Axis]",
        "documentation": "Information by measurement frequency."
       }
      }
     },
     "auth_ref": [
      "r496",
      "r497",
      "r498",
      "r499",
      "r501"
     ]
    },
    "us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]",
        "label": "Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r500"
     ]
    },
    "us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Disclosure of Asset and Liability Not Measured at Fair Value [Table]",
        "label": "Fair Value Disclosure of Asset and Liability Not Measured at Fair Value [Table]",
        "documentation": "Disclosure of information about fair value of asset and liability not measured at fair value."
       }
      }
     },
     "auth_ref": [
      "r500"
     ]
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueDisclosuresTextBlock",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstruments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value of Financial Instruments",
        "label": "Fair Value Disclosures [Text Block]",
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information."
       }
      }
     },
     "auth_ref": [
      "r495"
     ]
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel1Member",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Level 1",
        "label": "Fair Value, Inputs, Level 1 [Member]",
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date."
       }
      }
     },
     "auth_ref": [
      "r368",
      "r389",
      "r394",
      "r497",
      "r534",
      "r723",
      "r724",
      "r725"
     ]
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel2Member",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Level 2",
        "label": "Fair Value, Inputs, Level 2 [Member]",
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets."
       }
      }
     },
     "auth_ref": [
      "r368",
      "r389",
      "r394",
      "r497",
      "r535",
      "r718",
      "r719",
      "r723",
      "r724",
      "r725"
     ]
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementFrequencyDomain",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Measurement Frequency [Domain]",
        "label": "Measurement Frequency [Domain]",
        "documentation": "Measurement frequency."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Hierarchy and NAV [Domain]",
        "label": "Fair Value Hierarchy and NAV [Domain]",
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value."
       }
      }
     },
     "auth_ref": [
      "r368",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r534",
      "r535",
      "r536",
      "r718",
      "r719",
      "r723",
      "r724",
      "r725"
     ]
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementsRecurringMember",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value, Recurring",
        "label": "Fair Value, Recurring [Member]",
        "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value."
       }
      }
     },
     "auth_ref": [
      "r495",
      "r501"
     ]
    },
    "us-gaap_FairValueOptionQuantitativeDisclosuresLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueOptionQuantitativeDisclosuresLineItems",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value [Line Items]",
        "label": "Fair Value, Option, Quantitative Disclosures [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r503",
      "r504",
      "r505"
     ]
    },
    "us-gaap_FairValueOptionQuantitativeDisclosuresTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueOptionQuantitativeDisclosuresTable",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Option, Disclosures [Table]",
        "label": "Fair Value Option, Disclosures [Table]",
        "documentation": "Disclosure of information about asset and liability measured at fair value under fair value option."
       }
      }
     },
     "auth_ref": [
      "r503",
      "r504",
      "r505"
     ]
    },
    "us-gaap_FinanceLeasePrincipalPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeasePrincipalPayments",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Principal payments under finance lease obligations",
        "label": "Finance Lease, Principal Payments",
        "documentation": "Amount of cash outflow for principal payment on finance lease."
       }
      }
     },
     "auth_ref": [
      "r521",
      "r524"
     ]
    },
    "us-gaap_FinancialInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancialInstrumentAxis",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Financial Instrument [Axis]",
        "label": "Financial Instrument [Axis]",
        "documentation": "Information by type of financial instrument."
       }
      }
     },
     "auth_ref": [
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r327",
      "r328",
      "r332",
      "r333",
      "r334",
      "r336",
      "r340",
      "r341",
      "r369",
      "r371",
      "r491",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r594",
      "r716",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r871",
      "r872",
      "r873",
      "r874"
     ]
    },
    "us-gaap_FinancialInstrumentsOwnedAtFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancialInstrumentsOwnedAtFairValue",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total assets",
        "label": "Financial Instruments, Owned, at Fair Value",
        "documentation": "The aggregate fair value as of the balance sheet date of financial instruments and other positions owned by the entity including: (1) mortgages, mortgage-backed and asset backed securities; (2) US government and agency obligations; (3) state and municipal government obligations; (4) other sovereign government debt; (5) corporate obligations; (6) corporate equities; (7) principal investments; (8) derivative contracts; and (9) physical commodities. Includes both pledged and unpledged holdings."
       }
      }
     },
     "auth_ref": [
      "r88"
     ]
    },
    "us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancialInstrumentsOwnedCorporateDebtAtFairValue",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails": {
       "parentTag": "us-gaap_FinancialInstrumentsOwnedAtFairValue",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Corporate bonds",
        "label": "Financial Instruments, Owned, Corporate Debt, at Fair Value",
        "documentation": "Fair value of firm holdings in corporate fixed income securities. Includes pledged and unpledged holdings."
       }
      }
     },
     "auth_ref": [
      "r88"
     ]
    },
    "us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails": {
       "parentTag": "us-gaap_FinancialInstrumentsOwnedAtFairValue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign currency forward contracts",
        "label": "Financial Instruments, Owned, Derivatives and Other Contractual Agreements, at Fair Value",
        "documentation": "The fair value as of the balance sheet date of firm holdings in all assets resulting from contracts that meet the criteria of being accounted for as derivative instruments. Their value is derived from the values of one or more underlying assets, reference rates, or indices of asset values. Includes both pledged (to counterparties as collateral for financing transactions) and unpledged holdings."
       }
      }
     },
     "auth_ref": [
      "r147"
     ]
    },
    "us-gaap_FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails": {
       "parentTag": "us-gaap_FinancialInstrumentsOwnedAtFairValue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign government",
        "label": "Financial Instruments, Owned, Other Sovereign Government Obligations, at Fair Value",
        "documentation": "The fair value as of the balance sheet date of firm holdings in fixed income obligations issued by foreign governments. Includes both pledged (to counterparties as collateral for financing transactions) and unpledged holdings."
       }
      }
     },
     "auth_ref": [
      "r88"
     ]
    },
    "us-gaap_FinancialLiabilitiesFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancialLiabilitiesFairValueDisclosure",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities",
        "label": "Financial Liabilities Fair Value Disclosure",
        "documentation": "Fair value of financial obligations, including, but not limited to, debt instruments, derivative liabilities, federal funds purchased and sold under agreements to repurchase, securities loaned or sold under agreements to repurchase, financial instruments sold not yet purchased, guarantees, line of credit, loans and notes payable, servicing liability, and trading liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails",
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails",
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Estimated useful life",
        "terseLabel": "Weighted Average Life (Years)",
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accumulated Amortization",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r199",
      "r349"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r124"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2027",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r124"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r124"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r124"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails",
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails",
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r346",
      "r348",
      "r349",
      "r350",
      "r565",
      "r566"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost",
        "label": "Finite-Lived Intangible Assets, Gross",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r123",
      "r566"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finite-Lived Intangible Assets [Line Items]",
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r565"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails",
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails",
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r57"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails": {
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails",
      "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total expected future amortization expense",
        "label": "Finite-Lived Intangible Assets, Net",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r123",
      "r565"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1",
     "presentation": [
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Remaining Life (Years)",
        "label": "Finite-Lived Intangible Assets, Remaining Amortization Period",
        "documentation": "Remaining amortization period of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r565"
     ]
    },
    "us-gaap_FinitelivedIntangibleAssetsAcquired1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinitelivedIntangibleAssetsAcquired1",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intangible assets acquired",
        "label": "Finite-Lived Intangible Assets Acquired",
        "documentation": "Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition."
       }
      }
     },
     "auth_ref": [
      "r347"
     ]
    },
    "us-gaap_ForeignCountryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCountryMember",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign Tax Authority",
        "label": "Foreign Tax Authority [Member]",
        "documentation": "Designated tax departments of governments entitled to levy and collect income taxes from the entity outside the entity's country of domicile."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Unrealized gains (losses) before tax",
        "label": "Foreign Currency Cash Flow Hedge Gain (Loss) to be Reclassified During Next 12 Months",
        "documentation": "The estimated net amount of unrealized gains or losses on foreign currency cash flow hedges at the reporting date expected to be reclassified to earnings within the next 12 months."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "us-gaap_ForeignCurrencyContractAssetFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyContractAssetFairValueDisclosure",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Assets",
        "label": "Foreign Currency Contract, Asset, Fair Value Disclosure",
        "documentation": "Fair value portion of asset contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward contracts, and swaps."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyContractsLiabilityFairValueDisclosure",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails": {
       "parentTag": "us-gaap_FinancialLiabilitiesFairValueDisclosure",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign currency forward contracts",
        "verboseLabel": "Liabilities",
        "label": "Foreign Currency Contracts, Liability, Fair Value Disclosure",
        "documentation": "Fair value portion of liability contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward (delivery or nondelivery) contracts, and swaps entered into."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total foreign exchange losses, net",
        "label": "Gain (Loss), Foreign Currency Transaction, before Tax",
        "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction."
       }
      }
     },
     "auth_ref": [
      "r507",
      "r508",
      "r509",
      "r510",
      "r666"
     ]
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign Currency Transactions",
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy."
       }
      }
     },
     "auth_ref": [
      "r506"
     ]
    },
    "us-gaap_ForeignExchangeContractMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignExchangeContractMember",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign Exchange Contract",
        "label": "Foreign Exchange Contract [Member]",
        "documentation": "Derivative instrument whose primary underlying risk is tied to foreign exchange rates."
       }
      }
     },
     "auth_ref": [
      "r708",
      "r723",
      "r733"
     ]
    },
    "qlys_ForeignExchangeContractsForGBPAndEuroMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "ForeignExchangeContractsForGBPAndEuroMember",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign Exchange Contracts for GBP and Euro",
        "label": "Foreign Exchange Contracts for GBP and Euro [Member]",
        "documentation": "Information related to foreign exchange contracts for BPG and Euro."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_ForeignGovernmentAgenciesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "ForeignGovernmentAgenciesMember",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign government",
        "label": "Foreign Government Agencies [Member]",
        "documentation": "Information related to foreign government agencies."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount",
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r763",
      "r775",
      "r785",
      "r811"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount",
        "label": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r763",
      "r775",
      "r785",
      "r811"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount",
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r763",
      "r775",
      "r785",
      "r811"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forgone Recovery, Explanation of Impracticability",
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r763",
      "r775",
      "r785",
      "r811"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Forgone Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r763",
      "r775",
      "r785",
      "r811"
     ]
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FurnitureAndFixturesMember",
     "presentation": [
      "http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Furniture, fixtures and equipment",
        "label": "Furniture and Fixtures [Member]",
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails": {
       "parentTag": "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net (losses) gains from non-designated forward contracts",
        "label": "Gain (Loss) on Foreign Currency Derivative Instruments Not Designated as Hedging Instruments",
        "documentation": "Amount of gain (loss) recognized in earnings in the period from the increase (decrease) in fair value of foreign currency derivatives not designated as hedging instruments."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r81"
     ]
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Loss on disposal of property and equipment",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails",
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "General and administrative",
        "negatedLabel": "General and administrative",
        "label": "General and Administrative Expense",
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line."
       }
      }
     },
     "auth_ref": [
      "r112",
      "r652"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeneralAndAdministrativeExpenseMember",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "General and administrative",
        "label": "General and Administrative Expense [Member]",
        "documentation": "Primary financial statement caption encompassing general and administrative expense."
       }
      }
     },
     "auth_ref": [
      "r108"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill",
        "label": "Goodwill",
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r198",
      "r344",
      "r567",
      "r717",
      "r735",
      "r879",
      "r880"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill and Intangible Assets and Software Development Costs",
        "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r51"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "label": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r226",
      "r263",
      "r271",
      "r276",
      "r279",
      "r323",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r502",
      "r714",
      "r887"
     ]
    },
    "us-gaap_HedgingDesignationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "HedgingDesignationAxis",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Hedging Designation [Axis]",
        "label": "Hedging Designation [Axis]",
        "documentation": "Information by designation of purpose of derivative instrument."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r484"
     ]
    },
    "us-gaap_HedgingDesignationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "HedgingDesignationDomain",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Hedging Designation [Domain]",
        "label": "Hedging Designation [Domain]",
        "documentation": "Designation of purpose of derivative instrument."
       }
      }
     },
     "auth_ref": [
      "r16"
     ]
    },
    "us-gaap_HedgingRelationshipDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "HedgingRelationshipDomain",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Hedging Relationship [Domain]",
        "label": "Hedging Relationship [Domain]",
        "documentation": "Nature or intent of a hedge."
       }
      }
     },
     "auth_ref": [
      "r16"
     ]
    },
    "country_IN": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "IN",
     "presentation": [
      "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "India",
        "label": "INDIA"
       }
      }
     },
     "auth_ref": []
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "ICFR Auditor Attestation Flag",
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r753",
      "r754",
      "r767"
     ]
    },
    "us-gaap_ImpairmentOfLongLivedAssetsHeldForUse": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOfLongLivedAssetsHeldForUse",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment of long-lived assets",
        "label": "Impairment, Long-Lived Asset, Held-for-Use",
        "documentation": "The aggregate amount of write-downs for impairments recognized during the period for long lived assets held for use (including those held for disposal by means other than sale)."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r59",
      "r128"
     ]
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment of Long-Lived Assets",
        "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r129"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofIncomebeforeIncomeTaxDomesticandForeignDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofIncomebeforeIncomeTaxDomesticandForeignDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Domestic",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations."
       }
      }
     },
     "auth_ref": [
      "r227",
      "r472"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.qualys.com/role/IncomeTaxesScheduleofIncomebeforeIncomeTaxDomesticandForeignDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations",
      "http://www.qualys.com/role/IncomeTaxesScheduleofIncomebeforeIncomeTaxDomesticandForeignDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income before income taxes",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r106",
      "r153",
      "r263",
      "r271",
      "r276",
      "r279",
      "r572",
      "r591",
      "r714"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/IncomeTaxesScheduleofIncomebeforeIncomeTaxDomesticandForeignDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofIncomebeforeIncomeTaxDomesticandForeignDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile."
       }
      }
     },
     "auth_ref": [
      "r227",
      "r472"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Statement [Abstract]",
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Statement Location [Axis]",
        "label": "Income Statement Location [Axis]",
        "documentation": "Information by location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r351",
      "r352",
      "r653"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Statement Location [Domain]",
        "label": "Income Statement Location [Domain]",
        "documentation": "Location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r352",
      "r653"
     ]
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityAxis",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Tax Authority [Axis]",
        "label": "Income Tax Authority [Axis]",
        "documentation": "Information by tax jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityDomain",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Tax Authority [Domain]",
        "label": "Income Tax Authority [Domain]",
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxContingencyLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxContingencyLineItems",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Tax Contingency [Line Items]",
        "label": "Income Tax Contingency [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxContingencyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxContingencyTable",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Tax Contingency [Table]",
        "label": "Income Tax Contingency [Table]",
        "documentation": "Disclosure of information about tax positions taken in the tax returns filed or to be filed for which it is more likely than not that the tax position will not be sustained upon examination by taxing authorities and other income tax contingencies. Includes, but is not limited to, interest and penalties, reconciliation of unrecognized tax benefits, unrecognized tax benefits that would affect the effective tax rate, tax years that remain subject to examination by tax jurisdictions, and information about positions for which it is reasonably possible that amounts unrecognized will significantly change within 12 months."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r68",
      "r142",
      "r143"
     ]
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Taxes",
        "label": "Income Tax Disclosure [Text Block]",
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information."
       }
      }
     },
     "auth_ref": [
      "r228",
      "r443",
      "r451",
      "r457",
      "r463",
      "r468",
      "r474",
      "r475",
      "r476",
      "r610"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 1.0
      },
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations",
      "http://www.qualys.com/role/IncomeTaxesScheduleofComponentsofIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income tax provision",
        "totalLabel": "Income tax provision",
        "label": "Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r163",
      "r179",
      "r240",
      "r241",
      "r268",
      "r449",
      "r469",
      "r598"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Taxes",
        "label": "Income Tax, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r215",
      "r445",
      "r446",
      "r457",
      "r458",
      "r462",
      "r464",
      "r607"
     ]
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash paid for income taxes, net of refunds",
        "label": "Income Taxes Paid, Net",
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes."
       }
      }
     },
     "auth_ref": [
      "r37"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts payable",
        "label": "Increase (Decrease) in Accounts Payable",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accounts receivable",
        "label": "Increase (Decrease) in Accounts Receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued liabilities and other noncurrent liabilities",
        "label": "Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities",
        "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other."
       }
      }
     },
     "auth_ref": [
      "r850"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred revenues",
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r563",
      "r850"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Changes in operating assets and liabilities:",
        "label": "Increase (Decrease) in Operating Capital [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Prepaid expenses and other assets",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncrementalCommonSharesAttributableToCallOptionsAndWarrants",
     "calculation": {
      "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted stock units (in shares)",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Call Options and Warrants",
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of call options and warrants using the treasury stock method."
       }
      }
     },
     "auth_ref": [
      "r246",
      "r247",
      "r248",
      "r253"
     ]
    },
    "us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements",
     "calculation": {
      "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee stock purchase plan (in shares)",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Equity Unit Purchase Agreements",
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of equity unit purchase agreements using the treasury stock method."
       }
      }
     },
     "auth_ref": [
      "r246",
      "r247",
      "r253"
     ]
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "calculation": {
      "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock options (in shares)",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements",
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method."
       }
      }
     },
     "auth_ref": [
      "r246",
      "r247",
      "r249",
      "r253",
      "r401"
     ]
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails": {
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intangible assets not subject to amortization",
        "label": "Indefinite-Lived Intangible Assets (Excluding Goodwill)",
        "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit."
       }
      }
     },
     "auth_ref": [
      "r125"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Individual:",
        "label": "Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r766",
      "r775",
      "r785",
      "r802",
      "r811",
      "r815",
      "r823"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r821"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r755",
      "r827"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Insider Trading Policies and Procedures Adopted",
        "label": "Insider Trading Policies and Procedures Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r755",
      "r827"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Insider Trading Policies and Procedures Not Adopted",
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r755",
      "r827"
     ]
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.qualys.com/role/IntangibleAssetsNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intangible Assets, Net",
        "label": "Intangible Assets Disclosure [Text Block]",
        "documentation": "The entire disclosure for all or part of the information related to intangible assets."
       }
      }
     },
     "auth_ref": [
      "r345"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      },
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets",
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intangible assets, net",
        "totalLabel": "Intangible assets, net",
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r56"
     ]
    },
    "us-gaap_InvestmentIncomeInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentIncomeInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest income",
        "label": "Investment Income, Interest",
        "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r266"
     ]
    },
    "us-gaap_Investments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Investments",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Investments",
        "label": "Investments",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all investments."
       }
      }
     },
     "auth_ref": [
      "r578"
     ]
    },
    "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Fair Value of Marketable Securities",
        "label": "Investments Classified by Contractual Maturity Date [Table Text Block]",
        "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_JeffreyHankMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "JeffreyHankMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Jeffrey Hank [Member]",
        "documentation": "Jeffrey Hank"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCostTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Supplemental Cash Flow Information",
        "label": "Lease, Cost [Table Text Block]",
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income."
       }
      }
     },
     "auth_ref": [
      "r937"
     ]
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leasehold improvements",
        "label": "Leasehold Improvements [Member]",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r127"
     ]
    },
    "us-gaap_LeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases [Abstract]",
        "label": "Leases [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeFinanceLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeFinanceLeasesTextBlock",
     "presentation": [
      "http://www.qualys.com/role/Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases",
        "label": "Lessee, Finance Leases [Text Block]",
        "documentation": "The entire disclosure for finance leases of lessee. Includes, but is not limited to, description of lessee's finance lease and maturity analysis of finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r518"
     ]
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeasesPolicyTextBlock",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases",
        "label": "Lessee, Leases [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee."
       }
      }
     },
     "auth_ref": [
      "r523"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Operating Lease Liability",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]",
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r938"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total minimum lease payments",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r528"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r528"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2028",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r528"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2027",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r528"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r528"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r528"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: interest",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r528"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://www.qualys.com/role/Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases",
        "label": "Lessee, Operating Leases [Text Block]",
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r518"
     ]
    },
    "us-gaap_LetterOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LetterOfCreditMember",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Letter of Credit",
        "label": "Letter of Credit [Member]",
        "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities",
        "label": "Liabilities",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r226",
      "r323",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r480",
      "r482",
      "r483",
      "r502",
      "r626",
      "r713",
      "r748",
      "r887",
      "r940",
      "r941"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities and stockholders\u2019 equity",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r152",
      "r587",
      "r735",
      "r853",
      "r876",
      "r933"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Liabilities and Stockholders\u2019 Equity",
        "label": "Liabilities and Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current liabilities",
        "label": "Liabilities, Current",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r194",
      "r226",
      "r323",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r480",
      "r482",
      "r483",
      "r502",
      "r735",
      "r887",
      "r940",
      "r941"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current liabilities:",
        "label": "Liabilities, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Local Phone Number",
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum",
        "label": "Maximum [Member]",
        "documentation": "Upper limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r355",
      "r356",
      "r357",
      "r358",
      "r396",
      "r562",
      "r599",
      "r618",
      "r619",
      "r672",
      "r674",
      "r676",
      "r677",
      "r683",
      "r701",
      "r702",
      "r715",
      "r720",
      "r726",
      "r737",
      "r889",
      "r942",
      "r943",
      "r944",
      "r945",
      "r946",
      "r947"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Measure:",
        "label": "Measure [Axis]"
       }
      }
     },
     "auth_ref": [
      "r794"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Measure Name"
       }
      }
     },
     "auth_ref": [
      "r794"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Minimum",
        "label": "Minimum [Member]",
        "documentation": "Lower limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r355",
      "r356",
      "r357",
      "r358",
      "r396",
      "r562",
      "r599",
      "r618",
      "r619",
      "r672",
      "r674",
      "r676",
      "r677",
      "r683",
      "r701",
      "r702",
      "r715",
      "r720",
      "r726",
      "r737",
      "r889",
      "r942",
      "r943",
      "r944",
      "r945",
      "r946",
      "r947"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "MNPI Disclosure Timed for Compensation Value",
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]"
       }
      }
     },
     "auth_ref": [
      "r814"
     ]
    },
    "us-gaap_MoneyMarketFundsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MoneyMarketFundsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails": {
       "parentTag": "us-gaap_FinancialInstrumentsOwnedAtFairValue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Money market funds",
        "label": "Money Market Funds, at Carrying Value",
        "documentation": "Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MoneyMarketFundsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MoneyMarketFundsMember",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Money market funds",
        "label": "Money Market Funds [Member]",
        "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities."
       }
      }
     },
     "auth_ref": [
      "r891"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Material Terms of Trading Arrangement",
        "label": "Material Terms of Trading Arrangement [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r822"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Named Executive Officers, Footnote",
        "label": "Named Executive Officers, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r795"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash used in financing activities",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r224"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash flow from financing activities:",
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash (used in) provided by investing activities",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r224"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash flow from investing activities:",
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash provided by operating activities",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r119",
      "r120"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash flow from operating activities:",
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      },
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails",
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome",
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations",
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income",
        "terseLabel": "Net income",
        "label": "Net Income (Loss)",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r107",
      "r120",
      "r154",
      "r192",
      "r210",
      "r213",
      "r218",
      "r226",
      "r232",
      "r234",
      "r235",
      "r236",
      "r237",
      "r240",
      "r241",
      "r250",
      "r263",
      "r271",
      "r276",
      "r279",
      "r323",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r494",
      "r502",
      "r592",
      "r650",
      "r667",
      "r668",
      "r714",
      "r746",
      "r887"
     ]
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLossAvailableToCommonStockholdersBasicAbstract",
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Numerator:",
        "label": "Net Income (Loss) Available to Common Stockholders, Basic [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLossAvailableToCommonStockholdersDilutedAbstract",
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Denominator:",
        "label": "Net Income (Loss) Available to Common Stockholders, Diluted [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Recently Adopted Accounting Pronouncements and Recently Issued Accounting Pronouncements Not Yet Adopted",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-GAAP Measure Description",
        "label": "Non-GAAP Measure Description [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r794"
     ]
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-NEOs",
        "label": "Non-NEOs [Member]"
       }
      }
     },
     "auth_ref": [
      "r763",
      "r775",
      "r785",
      "r802",
      "r811"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount",
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r792"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-PEO NEO Average Total Compensation Amount",
        "label": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r791"
     ]
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-PEO NEO",
        "label": "Non-PEO NEO [Member]"
       }
      }
     },
     "auth_ref": [
      "r802"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted",
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r822"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated",
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]"
       }
      }
     },
     "auth_ref": [
      "r822"
     ]
    },
    "us-gaap_NonUsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonUsMember",
     "presentation": [
      "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign",
        "label": "Non-US [Member]",
        "documentation": "Countries excluding the United States of America (US)."
       }
      }
     },
     "auth_ref": [
      "r959",
      "r960",
      "r961",
      "r962"
     ]
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-cash investing and financing activities",
        "label": "Noncash Investing and Financing Items [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purchases of intangible assets recorded in accrued liabilities and other noncurrent liabilities",
        "label": "Noncash or Part Noncash Acquisition, Net Nonmonetary Assets Acquired (Liabilities Assumed)",
        "documentation": "The net book value of a nonmonetary asset transferred or exchanged in connection with the acquisition of a business or asset in a noncash transaction. Noncash is defined as transactions during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period. Nonmonetary assets and liabilities are assets and liabilities that will not result in cash receipts or cash payments in the future."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r39",
      "r40"
     ]
    },
    "us-gaap_NondesignatedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NondesignatedMember",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Not Designated as Hedging Instrument",
        "verboseLabel": "Foreign currency forward contracts not designated as hedging instruments",
        "label": "Not Designated as Hedging Instrument [Member]",
        "documentation": "Derivative instrument not designated as hedging instrument under Generally Accepted Accounting Principles (GAAP)."
       }
      }
     },
     "auth_ref": [
      "r16"
     ]
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total other income, net",
        "label": "Nonoperating Income (Expense)",
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)."
       }
      }
     },
     "auth_ref": [
      "r114"
     ]
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonoperatingIncomeExpenseAbstract",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other income (expense), net:",
        "label": "Nonoperating Income (Expense) [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfOperatingSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfOperatingSegments",
     "presentation": [
      "http://www.qualys.com/role/SegmentandGeographicAreaInformationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of operating segments",
        "label": "Number of Operating Segments",
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues."
       }
      }
     },
     "auth_ref": [
      "r860"
     ]
    },
    "us-gaap_NumberOfReportableSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfReportableSegments",
     "presentation": [
      "http://www.qualys.com/role/SegmentandGeographicAreaInformationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of reportable segments",
        "label": "Number of Reportable Segments",
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements."
       }
      }
     },
     "auth_ref": [
      "r860"
     ]
    },
    "us-gaap_NumberOfReportingUnits": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfReportingUnits",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of reporting units",
        "label": "Number of Reporting Units",
        "documentation": "Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OciBeforeReclassificationsBeforeTaxAttributableToParent",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Change in unrealized gains (losses) during the period",
        "label": "OCI, before Reclassifications, before Tax, Attributable to Parent",
        "documentation": "Amount before tax and reclassification adjustments of other comprehensive income (loss) attributable to parent."
       }
      }
     },
     "auth_ref": [
      "r31"
     ]
    },
    "us-gaap_OffsettingAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OffsettingAssetsTable",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Offsetting Assets [Table]",
        "label": "Offsetting Assets [Table]",
        "documentation": "Disclosure of information about derivative and financial assets that are subject to offsetting, including enforceable master netting arrangements."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r103"
     ]
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total operating expenses",
        "label": "Operating Expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating expenses:",
        "label": "Operating Expenses [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income from operations",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r263",
      "r271",
      "r276",
      "r279",
      "r714"
     ]
    },
    "us-gaap_OperatingLeaseExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/LeasesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease expense",
        "label": "Operating Lease, Expense",
        "documentation": "Amount of operating lease expense. Excludes sublease income."
       }
      }
     },
     "auth_ref": [
      "r936"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Present value of net minimum lease payments",
        "label": "Operating Lease, Liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r520"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets",
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease liabilities, current",
        "negatedLabel": "Less: lease liabilities, current",
        "label": "Operating Lease, Liability, Current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r520"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets",
      "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease liabilities, noncurrent",
        "label": "Operating Lease, Liability, Noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r520"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/LeasesSupplementalCashFlowInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Cash payments included in the measurement of lease liabilities",
        "label": "Operating Lease, Payments",
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use."
       }
      }
     },
     "auth_ref": [
      "r522",
      "r524"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating leases - right of use asset",
        "label": "Operating Lease, Right-of-Use Asset",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r519"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.qualys.com/role/LeasesWeightedAverageRemainingLeaseTermandWeightedAverageDiscountRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average discount rate",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r527",
      "r734"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.qualys.com/role/LeasesWeightedAverageRemainingLeaseTermandWeightedAverageDiscountRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average remaining lease term (years)",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r526",
      "r734"
     ]
    },
    "us-gaap_OperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State research and development credit carryforwards",
        "label": "Operating Loss Carryforwards",
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r66"
     ]
    },
    "us-gaap_OtherAssetImpairmentCharges": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetImpairmentCharges",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Write off of noncurrent asset",
        "label": "Other Asset Impairment Charges",
        "documentation": "The charge against earnings resulting from the write down of long lived assets other than goodwill due to the difference between the carrying value and lower fair value."
       }
      }
     },
     "auth_ref": [
      "r851",
      "r884"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other noncurrent assets",
        "label": "Other Assets, Noncurrent",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r200"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net change in unrealized gains (losses) on available-for-sale debt securities, net of tax",
        "label": "OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax",
        "documentation": "Amount, after tax and adjustment, of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale."
       }
      }
     },
     "auth_ref": [
      "r205",
      "r206",
      "r208"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net change in unrealized gains (losses) on cash flow hedges, net of tax",
        "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax, Parent",
        "documentation": "Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent."
       }
      }
     },
     "auth_ref": [
      "r208"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails": {
       "parentTag": "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other foreign currency transactions losses",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other comprehensive income (loss), net of tax",
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent, Alternative [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails",
      "http://www.qualys.com/role/ConsolidatedStatementsofComprehensiveIncome",
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other comprehensive income (loss), net of tax",
        "verboseLabel": "Other comprehensive income (loss), net of tax",
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent",
        "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r13",
      "r146",
      "r211",
      "r214"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossTaxPortionAttributableToParent1",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Tax effect",
        "label": "Other Comprehensive Income (Loss), Tax, Portion Attributable to Parent",
        "documentation": "Amount of tax expense (benefit) allocated to other comprehensive income (loss) attributable to parent entity."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r13",
      "r146"
     ]
    },
    "qlys_OtherGeographicAreasMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "OtherGeographicAreasMember",
     "presentation": [
      "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rest of world",
        "label": "Other Geographic Areas [Member]",
        "documentation": "Represents information related to other geographic areas."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other noncurrent liabilities",
        "label": "Other Liabilities, Noncurrent",
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r27"
     ]
    },
    "us-gaap_OtherLongTermInvestmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLongTermInvestmentsMember",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-term marketable securities:",
        "label": "Other Long-Term Investments [Member]",
        "documentation": "Long-term investments classified as other."
       }
      }
     },
     "auth_ref": [
      "r954"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails",
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other expense, net",
        "verboseLabel": "Other income (expense), net",
        "label": "Other Nonoperating Income (Expense)",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r115"
     ]
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Performance Measure, Amount",
        "label": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r794"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount",
        "label": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r761",
      "r773",
      "r783",
      "r809"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Amount",
        "label": "Outstanding Recovery Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r764",
      "r776",
      "r786",
      "r812"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Outstanding Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r764",
      "r776",
      "r786",
      "r812"
     ]
    },
    "us-gaap_PatentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PatentsMember",
     "presentation": [
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Patent licenses",
        "label": "Patents [Member]",
        "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law."
       }
      }
     },
     "auth_ref": [
      "r145"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "us-gaap_PaymentsForAdvanceToAffiliate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForAdvanceToAffiliate",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Advanced payments",
        "label": "Payments for Advance to Affiliate",
        "documentation": "The cash outflow from advancing money to an affiliate (an entity that is related but not strictly controlled by the entity)."
       }
      }
     },
     "auth_ref": [
      "r33"
     ]
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchase of common stock",
        "label": "Payments for Repurchase of Common Stock",
        "documentation": "The cash outflow to reacquire common stock during the period."
       }
      }
     },
     "auth_ref": [
      "r35"
     ]
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payments for taxes related to net share settlement of equity awards",
        "label": "Payment, Tax Withholding, Share-Based Payment Arrangement",
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r223"
     ]
    },
    "us-gaap_PaymentsToAcquireBusinessesGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireBusinessesGross",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchases of intangible assets",
        "label": "Payments to Acquire Businesses, Gross",
        "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r478"
     ]
    },
    "us-gaap_PaymentsToAcquireIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireIntangibleAssets",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Payments to acquire intangibles",
        "label": "Payments to Acquire Intangible Assets",
        "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill."
       }
      }
     },
     "auth_ref": [
      "r117"
     ]
    },
    "us-gaap_PaymentsToAcquireMarketableSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireMarketableSecurities",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchases of marketable securities",
        "label": "Payments to Acquire Marketable Securities",
        "documentation": "Amount of cash outflow for purchase of marketable security."
       }
      }
     },
     "auth_ref": [
      "r863"
     ]
    },
    "qlys_PaymentsToAcquireMaturitiesOfNotesReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "PaymentsToAcquireMaturitiesOfNotesReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Maturity of note receivable",
        "label": "qlys_PaymentsToAcquireMaturitiesOfNotesReceivable",
        "documentation": "The amount of cash outflow (inflow) from the acquisition and maturities of notes receivable."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsToAcquireProductiveAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireProductiveAssets",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Payments for assets",
        "label": "Payments to Acquire Productive Assets",
        "documentation": "The cash outflow for purchases of and capital improvements on property, plant and equipment (capital expenditures), software, and other intangible assets."
       }
      }
     },
     "auth_ref": [
      "r162",
      "r926",
      "r927",
      "r928"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchases of property and equipment",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r117"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Peer Group Issuers, Footnote",
        "label": "Peer Group Issuers, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Peer Group Total Shareholder Return Amount",
        "label": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PEO Actually Paid Compensation Amount",
        "label": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r792"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PEO",
        "label": "PEO [Member]"
       }
      }
     },
     "auth_ref": [
      "r802"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PEO Name",
        "label": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r795"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PEO Total Compensation Amount",
        "label": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r791"
     ]
    },
    "qlys_PerformanceBasedRestrictedStockUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "PerformanceBasedRestrictedStockUnitsMember",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Performance-based Restricted Stock Units",
        "label": "Performance-based Restricted Stock Units [Member]",
        "documentation": "Information related to performance-based restricted stock units."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_PerformanceSharesTrancheThreeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "PerformanceSharesTrancheThreeMember",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Performance Shares, Tranche Three",
        "label": "Performance Shares, Tranche Three [Member]",
        "documentation": "Information related to tranche three of performance shares."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Plan Name [Axis]",
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r892",
      "r893",
      "r894",
      "r895",
      "r896",
      "r897",
      "r898",
      "r899",
      "r900",
      "r901",
      "r902",
      "r903",
      "r904",
      "r905",
      "r906",
      "r907",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Plan Name [Domain]",
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r892",
      "r893",
      "r894",
      "r895",
      "r896",
      "r897",
      "r898",
      "r899",
      "r900",
      "r901",
      "r902",
      "r903",
      "r904",
      "r905",
      "r906",
      "r907",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917"
     ]
    },
    "us-gaap_PledgingPurposeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PledgingPurposeAxis",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pledging Purpose [Axis]",
        "label": "Pledging Purpose [Axis]",
        "documentation": "Information by pledging purpose of pledged asset owned."
       }
      }
     },
     "auth_ref": [
      "r545",
      "r732",
      "r736",
      "r832"
     ]
    },
    "us-gaap_PledgingPurposeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PledgingPurposeDomain",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pledging Purpose [Domain]",
        "label": "Pledging Purpose [Domain]",
        "documentation": "Pledging purpose of pledged asset owned."
       }
      }
     },
     "auth_ref": [
      "r545",
      "r732",
      "r736",
      "r832"
     ]
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPreferredStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock, par value (in USD per share)",
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r370"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPreferredStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock, authorized (in shares)",
        "label": "Preferred Stock, Shares Authorized",
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r628"
     ]
    },
    "us-gaap_PreferredStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesIssued",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPreferredStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock, issued (in shares)",
        "label": "Preferred Stock, Shares Issued",
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r370"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPreferredStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock, outstanding (in shares)",
        "label": "Preferred Stock, Shares Outstanding",
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r628",
      "r648",
      "r957",
      "r958"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock: $0.001 par value; 20,000 shares authorized, no shares issued and outstanding as of December\u00a031, 2023 and 2022",
        "label": "Preferred Stock, Value, Issued",
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r583",
      "r735"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prepaid expenses and other current assets",
        "label": "Prepaid Expense and Other Assets, Current",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r845"
     ]
    },
    "qlys_PresidentAndChiefExecutiveOfficerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "PresidentAndChiefExecutiveOfficerMember",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "President and Chief Executive Officer",
        "label": "President and Chief Executive Officer [Member]",
        "documentation": "Information related to the President and Chief Executive Officer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromDividendsReceived": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromDividendsReceived",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividends from investment",
        "label": "Proceeds from Dividends Received",
        "documentation": "Dividends received on equity and other investments during the current period."
       }
      }
     },
     "auth_ref": [
      "r849"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from issuance of common stock through employee stock purchase plan",
        "label": "Proceeds from Issuance of Common Stock",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleAndMaturityOfMarketableSecurities",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sales and maturities of marketable securities",
        "label": "Proceeds from Sale and Maturity of Marketable Securities",
        "documentation": "The cash inflow associated with the aggregate amount received by the entity through sale or maturity of marketable securities (held-to-maturity or available-for-sale) during the period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from disposal of property and equipment",
        "label": "Proceeds from Sale of Property, Plant, and Equipment",
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r116"
     ]
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromStockOptionsExercised",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from exercise of stock options",
        "label": "Proceeds from Stock Options Exercised",
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r20"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total property and equipment",
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization",
        "documentation": "Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r831",
      "r844",
      "r883"
     ]
    },
    "qlys_PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total Long-lived Assets",
        "label": "Property and equipment, net and Operating leases - right of use asset",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale and right-of-use assets under operating leases."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails",
      "http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails",
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-Lived Tangible Asset [Axis]",
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://www.qualys.com/role/PropertyandEquipmentNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property and Equipment, Net",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r126",
      "r170",
      "r176",
      "r177"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails",
      "http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant and Equipment [Line Items]",
        "label": "Property, Plant and Equipment [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 8.0
      },
      "http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets",
      "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails",
      "http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property and equipment, net",
        "totalLabel": "Property and equipment, net",
        "label": "Property, Plant and Equipment, Net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r577",
      "r590",
      "r735"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property and Equipment, net",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r170",
      "r176",
      "r588"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://www.qualys.com/role/PropertyandEquipmentNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Property and Equipment, Net",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails",
      "http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails",
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-Lived Tangible Asset [Domain]",
        "label": "Long-Lived Tangible Asset [Domain]",
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r127"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Estimated useful lives",
        "label": "Property, Plant and Equipment, Useful Life",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Provision for credit losses",
        "label": "Accounts Receivable, Credit Loss Expense (Reversal)",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r222",
      "r330"
     ]
    },
    "us-gaap_PurchaseObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligation",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/CommitmentandContingenciesRemainingPurchaseCommitmentsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/CommitmentandContingenciesRemainingPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total purchase commitments",
        "label": "Purchase Obligation",
        "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PurchaseObligationDueInFourthYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligationDueInFourthYear",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/CommitmentandContingenciesRemainingPurchaseCommitmentsDetails": {
       "parentTag": "us-gaap_PurchaseObligation",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/CommitmentandContingenciesRemainingPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2027",
        "label": "Purchase Obligation, to be Paid, Year Four",
        "documentation": "Amount of purchase arrangement to be paid in fourth fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PurchaseObligationDueInNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligationDueInNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/CommitmentandContingenciesRemainingPurchaseCommitmentsDetails": {
       "parentTag": "us-gaap_PurchaseObligation",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/CommitmentandContingenciesRemainingPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2024",
        "label": "Purchase Obligation, to be Paid, Year One",
        "documentation": "Amount of purchase arrangement to be paid in next fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PurchaseObligationDueInSecondYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligationDueInSecondYear",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/CommitmentandContingenciesRemainingPurchaseCommitmentsDetails": {
       "parentTag": "us-gaap_PurchaseObligation",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/CommitmentandContingenciesRemainingPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2025",
        "label": "Purchase Obligation, to be Paid, Year Two",
        "documentation": "Amount of purchase arrangement to be paid in second fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PurchaseObligationDueInThirdYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligationDueInThirdYear",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/CommitmentandContingenciesRemainingPurchaseCommitmentsDetails": {
       "parentTag": "us-gaap_PurchaseObligation",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/CommitmentandContingenciesRemainingPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2026",
        "label": "Purchase Obligation, to be Paid, Year Three",
        "documentation": "Amount of purchase arrangement to be paid in third fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pay vs Performance Disclosure",
        "label": "Pay vs Performance Disclosure [Table]"
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pay vs Performance Disclosure, Table",
        "label": "Pay vs Performance [Table Text Block]"
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statistical Measurement [Axis]",
        "label": "Statistical Measurement [Axis]",
        "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r355",
      "r356",
      "r357",
      "r358",
      "r388",
      "r396",
      "r427",
      "r428",
      "r429",
      "r537",
      "r562",
      "r599",
      "r618",
      "r619",
      "r672",
      "r674",
      "r676",
      "r677",
      "r683",
      "r701",
      "r702",
      "r715",
      "r720",
      "r726",
      "r737",
      "r740",
      "r885",
      "r889",
      "r943",
      "r944",
      "r945",
      "r946",
      "r947"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statistical Measurement [Domain]",
        "label": "Statistical Measurement [Domain]",
        "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r355",
      "r356",
      "r357",
      "r358",
      "r388",
      "r396",
      "r427",
      "r428",
      "r429",
      "r537",
      "r562",
      "r599",
      "r618",
      "r619",
      "r672",
      "r674",
      "r676",
      "r677",
      "r683",
      "r701",
      "r702",
      "r715",
      "r720",
      "r726",
      "r737",
      "r740",
      "r885",
      "r889",
      "r943",
      "r944",
      "r945",
      "r946",
      "r947"
     ]
    },
    "us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Amount reclassified into income during the period",
        "label": "Reclassification from AOCI, Current Period, before Tax, Attributable to Parent",
        "documentation": "Amount before tax of reclassification adjustments of other comprehensive income (loss) attributable to parent."
       }
      }
     },
     "auth_ref": [
      "r31"
     ]
    },
    "us-gaap_ReclassificationFromAociCurrentPeriodTaxAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReclassificationFromAociCurrentPeriodTaxAbstract",
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reclassification of AOCI - Available-for-sale debt securities",
        "label": "Reclassification from AOCI, Current Period, Tax [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis",
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reclassification out of Accumulated Other Comprehensive Income [Axis]",
        "label": "Reclassification out of Accumulated Other Comprehensive Income [Axis]",
        "documentation": "Information by item reclassified out of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r218"
     ]
    },
    "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain",
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reclassification out of Accumulated Other Comprehensive Income [Domain]",
        "label": "Reclassification out of Accumulated Other Comprehensive Income [Domain]",
        "documentation": "Item reclassified out of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r218"
     ]
    },
    "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reclassification out of Accumulated Other Comprehensive Income",
        "label": "Reclassification out of Accumulated Other Comprehensive Income [Member]",
        "documentation": "Identifies item reclassified out of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r218"
     ]
    },
    "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Effects on Incomebefore Income Taxes Reclassified from AOCI",
        "label": "Reclassification out of Accumulated Other Comprehensive Income [Table Text Block]",
        "documentation": "Tabular disclosure of information about items reclassified out of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofUnrecognizedTaxBenefitsRollForwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]",
        "label": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r756",
      "r768",
      "r778",
      "r804"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails",
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Research and development",
        "negatedLabel": "Research and development",
        "label": "Research and Development Expense",
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use."
       }
      }
     },
     "auth_ref": [
      "r92",
      "r442",
      "r948"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpenseMember",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Research and development",
        "label": "Research and Development Expense [Member]",
        "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restatement Determination Date:",
        "label": "Restatement Determination Date [Axis]"
       }
      }
     },
     "auth_ref": [
      "r757",
      "r769",
      "r779",
      "r805"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restatement Determination Date",
        "label": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r758",
      "r770",
      "r780",
      "r806"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restatement does not require Recovery",
        "label": "Restatement Does Not Require Recovery [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r765",
      "r777",
      "r787",
      "r813"
     ]
    },
    "us-gaap_RestrictedCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedCash",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted cash",
        "label": "Restricted Cash",
        "documentation": "Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits."
       }
      }
     },
     "auth_ref": [
      "r843",
      "r852",
      "r949",
      "r951"
     ]
    },
    "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted Cash and Cash Equivalents [Axis]",
        "label": "Restricted Cash and Cash Equivalents [Axis]",
        "documentation": "Information by category of cash or cash equivalent items which are restricted as to withdrawal or usage."
       }
      }
     },
     "auth_ref": [
      "r22"
     ]
    },
    "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails",
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and Cash Equivalents [Domain]",
        "label": "Cash and Cash Equivalents [Domain]",
        "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r195"
     ]
    },
    "us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedCashAndCashEquivalentsItemsLineItems",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted Cash and Cash Equivalents Items [Line Items]",
        "label": "Restricted Cash and Cash Equivalents Items [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r951"
     ]
    },
    "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedCashAndCashEquivalentsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Noncurrent restricted cash",
        "label": "Restricted Cash and Cash Equivalents, Noncurrent",
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r165",
      "r225"
     ]
    },
    "us-gaap_RestrictedCashCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedCashCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted cash",
        "label": "Restricted Cash, Current",
        "documentation": "Amount of cash restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits."
       }
      }
     },
     "auth_ref": [
      "r843",
      "r852"
     ]
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted stock units",
        "label": "Restricted Stock Units (RSUs) [Member]",
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated deficit",
        "label": "Retained Earnings (Accumulated Deficit)",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r98",
      "r132",
      "r586",
      "r603",
      "r605",
      "r609",
      "r629",
      "r735"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retained Earnings (Accumulated Deficit)",
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r191",
      "r229",
      "r230",
      "r231",
      "r233",
      "r239",
      "r241",
      "r324",
      "r325",
      "r433",
      "r434",
      "r435",
      "r466",
      "r467",
      "r485",
      "r487",
      "r488",
      "r490",
      "r492",
      "r600",
      "r602",
      "r611",
      "r957"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails",
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations",
      "http://www.qualys.com/role/RevenuefromContractsWithCustomersRevenuebySalesChannelDetails",
      "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenues",
        "verboseLabel": "Total revenues",
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r264",
      "r265",
      "r270",
      "r274",
      "r275",
      "r281",
      "r283",
      "r285",
      "r383",
      "r384",
      "r564"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractsWithCustomers"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue from Contracts With Customers",
        "label": "Revenue from Contract with Customer [Text Block]",
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts."
       }
      }
     },
     "auth_ref": [
      "r180",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r387"
     ]
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRecognitionPolicyTextBlock",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue Recognition",
        "label": "Revenue [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources."
       }
      }
     },
     "auth_ref": [
      "r651",
      "r703",
      "r710"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue, remaining performance obligation",
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r173"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue, remaining performance obligation",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period",
        "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r174"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]",
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r174"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractsWithCustomersTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Expected Revenue from Performance Obligations",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]",
        "documentation": "Tabular disclosure of expected timing for satisfying remaining performance obligation."
       }
      }
     },
     "auth_ref": [
      "r833"
     ]
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/LeasesSupplementalCashFlowInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Lease liabilities arising from obtaining right-of-use assets",
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r525",
      "r734"
     ]
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 10b5-1 Arrangement Adopted",
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r822"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 10b5-1 Arrangement Terminated",
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]"
       }
      }
     },
     "auth_ref": [
      "r822"
     ]
    },
    "us-gaap_SalesChannelDirectlyToConsumerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalesChannelDirectlyToConsumerMember",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractsWithCustomersRevenuebySalesChannelDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Direct",
        "label": "Sales Channel, Directly to Consumer [Member]",
        "documentation": "Contract with customer in which good or service is transferred directly to consumer."
       }
      }
     },
     "auth_ref": [
      "r722"
     ]
    },
    "us-gaap_SalesChannelThroughIntermediaryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalesChannelThroughIntermediaryMember",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractsWithCustomersRevenuebySalesChannelDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Partner",
        "label": "Sales Channel, Through Intermediary [Member]",
        "documentation": "Contract with customer in which good or service is transferred through intermediary."
       }
      }
     },
     "auth_ref": [
      "r722"
     ]
    },
    "qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember",
     "presentation": [
      "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Scanner Appliances and Other Computer Equipment Not Placed In Service",
        "label": "Scanner Appliances and Other Computer Equipment Not Placed In Service [Member]",
        "documentation": "Represents scanner appliances and other computer equipment not placed in service."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember",
     "presentation": [
      "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Scanner Appliances and Other Computer Equipment Subject To Subscription",
        "label": "Scanner Appliances and Other Computer Equipment Subject To Subscription [Member]",
        "documentation": "Represents information related to scanner appliances and other computer equipment subject to subscription."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_ScannerAppliancesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "ScannerAppliancesMember",
     "presentation": [
      "http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails",
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Scanner appliances and other computer equipment",
        "terseLabel": "Scanner appliances",
        "label": "Scanner Appliances [Member]",
        "documentation": "Represents information related to scanner appliances."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Accumulated Other Comprehensive Income (Loss)",
        "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]",
        "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r934",
      "r935"
     ]
    },
    "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
     "presentation": [
      "http://www.qualys.com/role/IntangibleAssetsNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Acquired Finite-Lived Intangible Assets by Major Class",
        "label": "Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]",
        "documentation": "Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company."
       }
      }
     },
     "auth_ref": [
      "r54"
     ]
    },
    "us-gaap_ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock",
     "presentation": [
      "http://www.qualys.com/role/IntangibleAssetsNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Acquired Indefinite-Lived Intangible Assets by Major Class",
        "label": "Schedule of Acquired Indefinite-Lived Intangible Assets by Major Class [Table Text Block]",
        "documentation": "Tabular disclosure of acquired indefinite-lived intangible assets. Indefinite-lived intangible assets are assets that have no physical form, but have expected future economic benefit. Indefinite-lived assets are assets that are not subject to amortization. Acquired indefinite-lived intangible assets are disclosed by major class (assets that can be grouped together because they are similar, either by their nature or by their use in operations of the entity) and in total."
       }
      }
     },
     "auth_ref": [
      "r55"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]",
        "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]",
        "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "presentation": [
      "http://www.qualys.com/role/AcquisitionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r71",
      "r477"
     ]
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Components of Income Tax Expense (Benefit)",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years."
       }
      }
     },
     "auth_ref": [
      "r141"
     ]
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Deferred Tax Assets and Liabilities",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r140"
     ]
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Derivative Instruments, Gain (Loss)",
        "label": "Derivative Instruments, Gain (Loss) [Table Text Block]",
        "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r80",
      "r484"
     ]
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDerivativeInstrumentsTextBlock",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of the Fair Value of Derivative Instruments",
        "label": "Schedule of Derivative Instruments [Table Text Block]",
        "documentation": "Tabular disclosure of pertinent information about a derivative or group of derivatives on a disaggregated basis, such as for individual instruments, or small groups of similar instruments. May include a combination of the type of instrument, risks being hedged, notional amount, hedge designation, related hedged item, inception date, maturity date, or other relevant item."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r72",
      "r73",
      "r74",
      "r76",
      "r78",
      "r80",
      "r83",
      "r84"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/NetIncomePerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Earnings Per Share, Basic and Diluted",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r859"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Effective Income Tax Rate Reconciliation",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r139"
     ]
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Stock-Based Compensation",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement."
       }
      }
     },
     "auth_ref": [
      "r63"
     ]
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable",
     "presentation": [
      "http://www.qualys.com/role/RevenuefromContractsWithCustomersRevenuebySalesChannelDetails",
      "http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue from External Customers by Products and Services [Table]",
        "label": "Revenue from External Customers by Products and Services [Table]",
        "documentation": "Tabular presentation of the description and amount of revenues from a product or service, or a group of similar products or similar services, reported from external customers during the period, if the information is not provided as part of the reportable operating segment information."
       }
      }
     },
     "auth_ref": [
      "r49"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]",
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r57",
      "r565"
     ]
    },
    "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Income before Income Tax, Domestic and Foreign",
        "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]",
        "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions."
       }
      }
     },
     "auth_ref": [
      "r854"
     ]
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails",
      "http://www.qualys.com/role/PropertyandEquipmentNetScheduleofPropertyandEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant and Equipment [Table]",
        "label": "Property, Plant and Equipment [Table]",
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRestrictedCashAndCashEquivalentsTable",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restrictions on Cash and Cash Equivalents [Table]",
        "label": "Restrictions on Cash and Cash Equivalents [Table]",
        "documentation": "Disclosure of information about cash and cash equivalents restricted as to withdrawal or usage."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r149",
      "r951"
     ]
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/SegmentandGeographicAreaInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas",
        "label": "Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block]",
        "documentation": "Tabular disclosure of information concerning material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r109"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "presentation": [
      "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]",
        "label": "Schedule of Segment Reporting Information, by Segment [Table]",
        "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r47",
      "r48",
      "r51"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r398",
      "r400",
      "r402",
      "r403",
      "r404",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Stock Option Activity",
        "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]",
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r19",
      "r62"
     ]
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Share-Based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions",
        "label": "Schedule of Share-Based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block]",
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of employee stock purchase plans, including, but not limited to: (a) expected term, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions."
       }
      }
     },
     "auth_ref": [
      "r138"
     ]
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Valuation Assumptions",
        "label": "Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]",
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions."
       }
      }
     },
     "auth_ref": [
      "r138"
     ]
    },
    "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of RSU Activity",
        "label": "Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]",
        "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Unrecognized Tax Benefits Roll Forward",
        "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]",
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r730",
      "r919"
     ]
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/IntangibleAssetsNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense",
        "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]",
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "us-gaap_SecuritiesOwnedNotReadilyMarketablePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SecuritiesOwnedNotReadilyMarketablePolicy",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-marketable securities",
        "label": "Securities Owned Not Readily Marketable, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for not readily marketable securities, valuation methods and significant assumptions used to determine fair value, restrictions on the investment and reasons investments are not readily marketable, including securities that are not registered, investments in nonpublic entities."
       }
      }
     },
     "auth_ref": [
      "r89"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Title of 12(b) Security",
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r749"
     ]
    },
    "qlys_SecurityDepositsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "SecurityDepositsMember",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Security Deposits",
        "label": "Security Deposits [Member]",
        "documentation": "Represents security deposits."
       }
      }
     },
     "auth_ref": []
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Security Exchange Name",
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r752"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Geographical [Domain]",
        "label": "Geographical [Domain]",
        "documentation": "Geographical area."
       }
      }
     },
     "auth_ref": [
      "r181",
      "r182",
      "r183",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r283",
      "r284",
      "r614",
      "r615",
      "r616",
      "r673",
      "r675",
      "r678",
      "r684",
      "r692",
      "r693",
      "r694",
      "r695",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r704",
      "r721",
      "r740",
      "r890",
      "r953"
     ]
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://www.qualys.com/role/SegmentandGeographicAreaInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Segment and Geographic Area Information",
        "label": "Segment Reporting Disclosure [Text Block]",
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments."
       }
      }
     },
     "auth_ref": [
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r269",
      "r273",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r285"
     ]
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingInformationLineItems",
     "presentation": [
      "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Segment Reporting Information [Line Items]",
        "label": "Segment Reporting Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingAndMarketingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingAndMarketingExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails",
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sales and marketing",
        "negatedLabel": "Sales and marketing",
        "label": "Selling and Marketing Expense",
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingAndMarketingExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingAndMarketingExpenseMember",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sales and marketing",
        "label": "Selling and Marketing Expense [Member]",
        "documentation": "Primary financial statement caption encompassing selling and marketing expense."
       }
      }
     },
     "auth_ref": [
      "r108"
     ]
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation, net of amounts capitalized",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional stock-based compensation cost",
        "label": "Share-Based Payment Arrangement, Accelerated Cost",
        "documentation": "Amount of additional cost recognized for award under share-based payment arrangement from occurrence of event accelerating recognition of cost."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Performance period",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Performance Period",
        "documentation": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Performance Period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting period, term years",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period",
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition."
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Forfeited (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r419"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forfeited (in USD per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event."
       }
      }
     },
     "auth_ref": [
      "r419"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Granted (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r417"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Granted (in USD per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r417"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Beginning balance (in shares)",
        "periodEndLabel": "Ending balance (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r414",
      "r415"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Outstanding RSUs",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Beginning balance (in USD per share)",
        "periodEndLabel": "Ending balance (in USD per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r414",
      "r415"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Grant Date Fair Value Per Share",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vested (in shares)",
        "negatedLabel": "Vested (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r418"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate fair value vested",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value",
        "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash."
       }
      }
     },
     "auth_ref": [
      "r421"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vested (in USD per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement."
       }
      }
     },
     "auth_ref": [
      "r418"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividend yield",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate",
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term."
       }
      }
     },
     "auth_ref": [
      "r428"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Volatility",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate",
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period."
       }
      }
     },
     "auth_ref": [
      "r427"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Volatility, maximum",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum",
        "documentation": "The estimated measure of the maximum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Volatility, minimum",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum",
        "documentation": "The estimated measure of the minimum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Risk-free interest rate",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": [
      "r429"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Risk-free interest rate, maximum",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum",
        "documentation": "The maximum risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Risk-free interest rate, minimum",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum",
        "documentation": "The minimum risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r398",
      "r400",
      "r402",
      "r403",
      "r404",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional shares available for grant (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Additional Shares Authorized",
        "documentation": "Number of additional shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares authorized for issuance (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized",
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r729"
     ]
    },
    "qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Authorized annual increase, percentage",
        "label": "Share-based Compensation Arrangement By Share-based Payment Award, Number Of Shares Authorized Annual Increase, Percent Of Shares Outstanding",
        "documentation": "Represents percentage of shares outstanding for member of shares authorized for shared-based compensation arrangement by share-based compensation."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Authorized annual increase (in shares)",
        "label": "Share-based Compensation Arrangement By Share-based Payment Award, Number Of Shares Authorized Annual Increase, Shares",
        "documentation": "Represents number of shares authorized for share-based compensation arrangement by share-based compensation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares available for grant (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant",
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable."
       }
      }
     },
     "auth_ref": [
      "r61"
     ]
    },
    "qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Offering period, months",
        "label": "Share-based Compensation Arrangement By Share-based Payment, Award Offering Period",
        "documentation": "Represents the offering period under a share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock Options Additional Disclosures",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intrinsic value of options exercised",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares."
       }
      }
     },
     "auth_ref": [
      "r421"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Canceled (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period",
        "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired."
       }
      }
     },
     "auth_ref": [
      "r898"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Canceled (in USD per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average price of options that were either forfeited or expired."
       }
      }
     },
     "auth_ref": [
      "r898"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Granted (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross",
        "documentation": "Gross number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r410"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average grant date fair value (in USD per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology."
       }
      }
     },
     "auth_ref": [
      "r420"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate Intrinsic Value",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value",
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding."
       }
      }
     },
     "auth_ref": [
      "r61"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Beginning balance (in shares)",
        "periodEndLabel": "Ending balance (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r406",
      "r407"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Outstanding Options",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Beginning balance (in USD per share)",
        "periodEndLabel": "Ending balance (in USD per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r406",
      "r407"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Exercise Price",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exercisable as of December 31, 2023",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Aggregate Intrinsic Value",
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r423"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Outstanding options, exercisable (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number",
        "documentation": "Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r423"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average exercise price, exercisable (in USD per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price",
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r423"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vested and expected to vest as of December 31, 2023",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value",
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r422"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vested and expected to vest (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number",
        "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r422"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vested and expected to vest (in USD per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price",
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r422"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares added to plan (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Other Share Increase (Decrease)",
        "documentation": "Other than shares newly issued, the number of additional shares issued (for example, a stock split) or canceled (for example, to correct a share issuance), during the period under the plan."
       }
      }
     },
     "auth_ref": [
      "r61"
     ]
    },
    "qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of quarterly periods to vest",
        "label": "qlys_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods",
        "documentation": "Represents number of quarterly periods for vesting periods for share based compensation arrangement by share based payment award."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationStockbasedCompensationDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Type [Domain]",
        "label": "Award Type [Domain]",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r402",
      "r403",
      "r404",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exercised (in USD per share)",
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r411"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Granted (in USD per share)",
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r410"
     ]
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-Based Compensation",
        "label": "Share-Based Payment Arrangement [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost."
       }
      }
     },
     "auth_ref": [
      "r397",
      "r405",
      "r424",
      "r425",
      "r426",
      "r427",
      "r430",
      "r436",
      "r437",
      "r438",
      "r439"
     ]
    },
    "qlys_ShareRepurchaseProgramTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "ShareRepurchaseProgramTableTextBlock",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of the Share Repurchase Program",
        "label": "Share Repurchase Program [Table Text Block]",
        "documentation": "Tabular disclosure of share repurchase program."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Outstanding and expected to vest (in shares)",
        "label": "Expected to vest, number of shares (in shares)",
        "documentation": "Represents vested and expected to vest outstanding number"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accelerated vesting (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Accelerated Vesting, Number",
        "documentation": "Number of shares for which recognition of cost was accelerated for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award vesting rights, percentage",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage",
        "documentation": "Percentage of vesting of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r892"
     ]
    },
    "qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Target PSUs scheduled to vest (in shares)",
        "label": "qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares",
        "documentation": "Represents target number of shares of share-based compensation by share-based payment award for equity instruments other than options."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Outstanding and expected to vest (in USD per share)",
        "label": "Expected to vest, weighted average grant date fair value (in dollars per share)",
        "documentation": "Represents weighted average exercise for share-based compensation arrangement by share-based payment award for equity instruments other than options, expected to vest."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Target number of awards, percentage",
        "label": "qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget",
        "documentation": "Represents equity instruments other than options vested in period as a percentage of target for share-based compensation arrangement by share-based payment award."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expiration period, term",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period",
        "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r728"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationFairValueAssumptionsStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expected term (in years)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term",
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r426"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average remaining contractual life, balance (in years)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r137"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average remaining contractual life, exercisable (in years)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Remaining Contractual Term",
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest exercisable or convertible options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r423"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average remaining contractual life, vested and expected to vest (in years)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term",
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r422"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purchase price per stock, percentage",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent",
        "documentation": "Purchase price of common stock expressed as a percentage of its fair value."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vest ranging target percentage",
        "label": "qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage",
        "documentation": "The target percentage for vesting of equity-based award under share based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unvested awards to vest, percentage",
        "label": "qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger",
        "documentation": "Represents percentage of shares that will vest upon trigger for share-based compensation."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_SharebasedCompensationTerminationPeriodTrigger": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "SharebasedCompensationTerminationPeriodTrigger",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Termination period, trigger month",
        "label": "qlys_SharebasedCompensationTerminationPeriodTrigger",
        "documentation": "Represents termination period trigger for share-based compensation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareholdersEquityAndShareBasedPaymentsTextBlock",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stockholders' Equity and Stock-based Compensation",
        "label": "Shareholders' Equity and Share-Based Payments [Text Block]",
        "documentation": "The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP)."
       }
      }
     },
     "auth_ref": [
      "r131",
      "r136"
     ]
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Beginning balance (in shares)",
        "periodEndLabel": "Ending balance (in shares)",
        "label": "Shares, Outstanding",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Taxes related to net share settlement of equity awards (in shares)",
        "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation",
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermInvestmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermInvestmentsMember",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Short-term marketable securities:",
        "label": "Short-Term Investments [Member]",
        "documentation": "Investments which are not otherwise included in another category or item that the entity has the intent to sell or dispose of within one year from the date of the balance sheet."
       }
      }
     },
     "auth_ref": [
      "r685",
      "r686",
      "r687",
      "r706"
     ]
    },
    "us-gaap_SoftwareAndSoftwareDevelopmentCostsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SoftwareAndSoftwareDevelopmentCostsMember",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Software Developed for Internal Use",
        "label": "Software and Software Development Costs [Member]",
        "documentation": "Purchased software applications and internally developed software for sale, licensing or long-term internal use."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails",
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails",
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Components [Axis]",
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r29",
      "r191",
      "r216",
      "r217",
      "r218",
      "r229",
      "r230",
      "r231",
      "r233",
      "r239",
      "r241",
      "r258",
      "r324",
      "r325",
      "r372",
      "r433",
      "r434",
      "r435",
      "r466",
      "r467",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r492",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r529",
      "r600",
      "r601",
      "r602",
      "r611",
      "r669"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Geographical [Axis]",
        "label": "Geographical [Axis]",
        "documentation": "Information by geographical components."
       }
      }
     },
     "auth_ref": [
      "r181",
      "r190",
      "r283",
      "r284",
      "r614",
      "r615",
      "r616",
      "r673",
      "r675",
      "r678",
      "r684",
      "r689",
      "r692",
      "r693",
      "r694",
      "r695",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r704",
      "r721",
      "r740",
      "r890",
      "r953"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement [Line Items]",
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r229",
      "r230",
      "r231",
      "r258",
      "r564",
      "r606",
      "r613",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r628",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r638",
      "r639",
      "r640",
      "r641",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r649",
      "r651",
      "r652",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r669",
      "r741"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement of Cash Flows [Abstract]",
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement of Financial Position [Abstract]",
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement of Stockholders' Equity [Abstract]",
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement [Table]",
        "label": "Statement [Table]",
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed."
       }
      }
     },
     "auth_ref": [
      "r229",
      "r230",
      "r231",
      "r258",
      "r564",
      "r606",
      "r613",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r628",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r638",
      "r639",
      "r640",
      "r641",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r649",
      "r651",
      "r652",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r669",
      "r741"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock Price or TSR Estimation Method",
        "label": "Stock Price or TSR Estimation Method [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r760",
      "r772",
      "r782",
      "r808"
     ]
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockAppreciationRightsSARSMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock Appreciation Rights (SARs)",
        "label": "Stock Appreciation Rights (SARs) [Member]",
        "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of common stock through employee stock purchase plan (in shares)",
        "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans",
        "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r95",
      "r96",
      "r132"
     ]
    },
    "qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardVested",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of common stock upon vesting of restricted stock units (in shares)",
        "label": "Issuance of common stock upon vesting of restricted stock units (in shares)",
        "documentation": "Number of shares issued during period for restricted stock vested."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of common stock upon exercise of stock options (in shares)",
        "negatedLabel": "Exercised (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r95",
      "r96",
      "r132",
      "r411"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of common stock through employee stock purchase plan",
        "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan",
        "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r95",
      "r96",
      "r132"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of common stock upon exercise of stock options",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "documentation": "Value of stock issued as a result of the exercise of stock options."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r29",
      "r132"
     ]
    },
    "qlys_StockRepurchaseProgramAdditionalAuthorizedAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "StockRepurchaseProgramAdditionalAuthorizedAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional authorized amount",
        "label": "Stock Repurchase Program , Additional Authorized Amount",
        "documentation": "Amount of additional stock repurchase plan authorized."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchaseProgramAuthorizedAmount1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationScheduleofRepurchaseAgreementsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock repurchase program, authorized amount",
        "label": "Stock Repurchase Program, Authorized Amount",
        "documentation": "Amount of stock repurchase plan authorized."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock repurchase program, remaining authorized repurchase amount",
        "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount",
        "documentation": "Amount remaining of a stock repurchase plan authorized."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_StockRepurchaseProgramRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "StockRepurchaseProgramRollForward",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationScheduleofRepurchaseAgreementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Authorized Dollar Value",
        "label": "Stock Repurchase Program [Roll Forward]",
        "documentation": "Stock Repurchase Program"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedAndRetiredDuringPeriodShares",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock repurchased and retired in period (in shares)",
        "label": "Stock Repurchased and Retired During Period, Shares",
        "documentation": "Number of shares that have been repurchased and retired during the period."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r95",
      "r96",
      "r132"
     ]
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedAndRetiredDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock repurchased and retired in period",
        "label": "Stock Repurchased and Retired During Period, Value",
        "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital)."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r95",
      "r96",
      "r132"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchase of common stock (in shares)",
        "label": "Stock Repurchased During Period, Shares",
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r95",
      "r96",
      "r132",
      "r608",
      "r669",
      "r688"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchase of common stock",
        "label": "Stock Repurchased During Period, Value",
        "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r95",
      "r96",
      "r132",
      "r611",
      "r669",
      "r688",
      "r747"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.qualys.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAccumulatedOtherComprehensiveIncomeLossDetails",
      "http://www.qualys.com/role/ConsolidatedBalanceSheets",
      "http://www.qualys.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total stockholders\u2019 equity",
        "periodStartLabel": "Beginning balance",
        "periodEndLabel": "Ending balance",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r99",
      "r100",
      "r122",
      "r630",
      "r648",
      "r670",
      "r671",
      "r735",
      "r748",
      "r853",
      "r876",
      "r933",
      "r957"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stockholders\u2019 equity:",
        "label": "Equity, Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event",
        "label": "Subsequent Event [Member]",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r517",
      "r530"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event Type [Axis]",
        "label": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r517",
      "r530"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationShareRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event Type [Domain]",
        "label": "Subsequent Event Type [Domain]",
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r517",
      "r530"
     ]
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Supplemental disclosures of cash flow information",
        "label": "Supplemental Cash Flow Information [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tabular List, Table",
        "label": "Tabular List [Table Text Block]"
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "us-gaap_TaxCreditCarryforwardAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxCreditCarryforwardAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tax credit carryforward",
        "label": "Tax Credit Carryforward, Amount",
        "documentation": "The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r66"
     ]
    },
    "qlys_The2012EquityIncentivePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "The2012EquityIncentivePlanMember",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "The 2012 Equity Incentive Plan",
        "label": "The 2012 Equity Incentive Plan [Member]",
        "documentation": "Represents plan 2012."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_The2021EmployeeStockPurchasePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "The2021EmployeeStockPurchasePlanMember",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEmployeeStockPurchasePlanValuationAssumptionsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationEquityIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "The 2021 Employee Stock Purchase Plan",
        "label": "The 2021 Employee Stock Purchase Plan [Member]",
        "documentation": "Information related to the 2021 Employee Stock Purchase Plan."
       }
      }
     },
     "auth_ref": []
    },
    "qlys_TimeBasedSharedBasedCompensationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.qualys.com/20231231",
     "localname": "TimeBasedSharedBasedCompensationMember",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Time based Shared Based Compensation",
        "label": "Time based Shared Based Compensation [Member]",
        "documentation": "Represents information related to time based share based compensation."
       }
      }
     },
     "auth_ref": []
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Title of Individual [Axis]",
        "label": "Title of Individual [Axis]",
        "documentation": "Information by title of individual or nature of relationship to individual or group of individuals."
       }
      }
     },
     "auth_ref": [
      "r861",
      "r939"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails",
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Title of Individual [Domain]",
        "label": "Title of Individual [Domain]",
        "documentation": "Title of individual, or nature of relationship to individual or group of individuals."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total Shareholder Return Amount",
        "label": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total Shareholder Return Vs Peer Group",
        "label": "Total Shareholder Return Vs Peer Group [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r800"
     ]
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts Receivable",
        "label": "Accounts Receivable [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r156",
      "r157",
      "r288",
      "r289",
      "r291"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trading Arrangement:",
        "label": "Trading Arrangement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r821"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trading Arrangements, by Individual",
        "label": "Trading Arrangements, by Individual [Table]"
       }
      }
     },
     "auth_ref": [
      "r823"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.qualys.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trading Symbol",
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Financial Instruments [Domain]",
        "label": "Financial Instruments [Domain]",
        "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms."
       }
      }
     },
     "auth_ref": [
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r369",
      "r371",
      "r491",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r594",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r871",
      "r872",
      "r873",
      "r874"
     ]
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adoption Date",
        "label": "Trading Arrangement Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r824"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Arrangement Duration",
        "label": "Trading Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r825"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Trading Arrangement, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r823"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Title",
        "label": "Trading Arrangement, Individual Title"
       }
      }
     },
     "auth_ref": [
      "r823"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate Available",
        "label": "Trading Arrangement, Securities Aggregate Available Amount"
       }
      }
     },
     "auth_ref": [
      "r826"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Termination Date",
        "label": "Trading Arrangement Termination Date"
       }
      }
     },
     "auth_ref": [
      "r824"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "US",
     "presentation": [
      "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "United States",
        "label": "UNITED STATES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_USGovernmentAgenciesDebtSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "USGovernmentAgenciesDebtSecuritiesMember",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails",
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "U.S. Treasury and government agencies",
        "label": "US Government Agencies Debt Securities [Member]",
        "documentation": "Debentures, notes, and other debt securities issued by US government agencies, for example, but not limited to, Government National Mortgage Association (GNMA or Ginnie Mae). Excludes US treasury securities and debt issued by government-sponsored Enterprises (GSEs), for example, but is not limited to, Federal Home Loan Mortgage Corporation (FHLMC or Freddie Mac), Federal National Mortgage Association (FNMA or Fannie Mae), and the Federal Home Loan Bank (FHLB)."
       }
      }
     },
     "auth_ref": [
      "r711",
      "r723",
      "r950"
     ]
    },
    "us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "USGovernmentAgenciesSecuritiesAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails": {
       "parentTag": "us-gaap_FinancialInstrumentsOwnedAtFairValue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsFairValueHierarchyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "U.S. Treasury and government agencies",
        "label": "US Government Agencies Securities, at Carrying Value",
        "documentation": "Debt securities issued by a United States government agency such as Government National Mortgage Association (Ginnie Mae), Federal Home Loan Mortgage Corporation (Freddie Mac), and Federal National Mortgage Association (Fannie Mae), which are short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "USGovernmentCorporationsAndAgenciesSecuritiesMember",
     "presentation": [
      "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "U.S. Treasury and government agencies",
        "label": "US Government Corporations and Agencies Securities [Member]",
        "documentation": "This category includes information about debt issued by US Government Corporations and Agencies. Investments in such US Government Corporations may include debt securities issued by the Government National Mortgage Association (Ginnie Mae) and by the Federal National Mortgage Association (Fannie Mae) and the Federal Home Loan Mortgage Corporation (Freddie Mac)."
       }
      }
     },
     "auth_ref": [
      "r950"
     ]
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Underlying Security Market Price Change",
        "label": "Underlying Security Market Price Change, Percent"
       }
      }
     },
     "auth_ref": [
      "r820"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefits",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofUnrecognizedTaxBenefitsRollForwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Unrecognized tax benefits beginning balance",
        "periodEndLabel": "Total unrecognized tax benefits",
        "label": "Unrecognized Tax Benefits",
        "documentation": "Amount of unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r444",
      "r452"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofUnrecognizedTaxBenefitsRollForwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Gross decrease for tax positions of prior years",
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions",
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns."
       }
      }
     },
     "auth_ref": [
      "r453"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofUnrecognizedTaxBenefitsRollForwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gross increase for tax positions of current year",
        "label": "Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions",
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return."
       }
      }
     },
     "auth_ref": [
      "r454"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofUnrecognizedTaxBenefitsRollForwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gross increase for tax positions of prior years",
        "label": "Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions",
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns."
       }
      }
     },
     "auth_ref": [
      "r453"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations",
     "crdr": "debit",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesScheduleofUnrecognizedTaxBenefitsRollForwardDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Lapse of statute of limitations",
        "label": "Unrecognized Tax Benefits, Reduction Resulting from Lapse of Applicable Statute of Limitations",
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from lapses of applicable statutes of limitations."
       }
      }
     },
     "auth_ref": [
      "r455"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate",
     "crdr": "credit",
     "presentation": [
      "http://www.qualys.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized tax benefits",
        "label": "Unrecognized Tax Benefits that Would Impact Effective Tax Rate",
        "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate."
       }
      }
     },
     "auth_ref": [
      "r456"
     ]
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://www.qualys.com/role/TheCompanyandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Use of Estimates",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r43",
      "r44",
      "r45",
      "r167",
      "r168",
      "r171",
      "r172"
     ]
    },
    "us-gaap_VestingAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VestingAxis",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting [Axis]",
        "label": "Vesting [Axis]",
        "documentation": "Information by vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r892",
      "r893",
      "r894",
      "r895",
      "r896",
      "r897",
      "r898",
      "r899",
      "r900",
      "r901",
      "r902",
      "r903",
      "r904",
      "r905",
      "r906",
      "r907",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917"
     ]
    },
    "us-gaap_VestingDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VestingDomain",
     "presentation": [
      "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationPerformanceBasedStockOptionsandRestrictedStockUnitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting [Domain]",
        "label": "Vesting [Domain]",
        "documentation": "Vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r892",
      "r893",
      "r894",
      "r895",
      "r896",
      "r897",
      "r898",
      "r899",
      "r900",
      "r901",
      "r902",
      "r903",
      "r904",
      "r905",
      "r906",
      "r907",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "calculation": {
      "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations",
      "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Diluted (in shares)",
        "totalLabel": "Diluted weighted average shares (in shares)",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r244",
      "r253"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average shares used in computing net income per share:",
        "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "calculation": {
      "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.qualys.com/role/ConsolidatedStatementsofOperations",
      "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basic (in shares)",
        "verboseLabel": "Basic weighted average shares (in shares)",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r243",
      "r253"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482338/360-10-05-4"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "940",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "30",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c),(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "815",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-2"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "820",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.24)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.25)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "((a)(1),(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-4"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "217",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "05",
   "Paragraph": "4",
   "Subparagraph": "(a)-(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479515/805-10-05-4"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1B"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-2"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-5"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-8"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480870/815-30-50-1"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "820",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "820",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "940",
   "SubTopic": "320",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481961/940-320-45-2"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "940",
   "SubTopic": "820",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481753/940-820-50-1"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.17)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "825",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480981/942-825-50-1"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "985",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483466/210-20-50-3"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483466/210-20-50-4"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//220/tableOfContent"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r121": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r122": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//360/tableOfContent"
  },
  "r127": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r128": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-2"
  },
  "r129": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480091/360-10-S99-2"
  },
  "r130": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//440/tableOfContent"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//505/tableOfContent"
  },
  "r132": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r133": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "710",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//710/tableOfContent"
  },
  "r134": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "712",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//712/tableOfContent"
  },
  "r135": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "715",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//715/tableOfContent"
  },
  "r136": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r137": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r138": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r139": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r140": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r141": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r142": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r143": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r144": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r145": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38"
  },
  "r146": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19"
  },
  "r147": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "c",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B"
  },
  "r148": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r149": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r150": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r151": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r152": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r153": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r154": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r155": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B"
  },
  "r156": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-15"
  },
  "r157": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-6"
  },
  "r158": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-6"
  },
  "r159": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-6"
  },
  "r160": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-6"
  },
  "r161": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-7"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "210",
   "Topic": "946",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-20"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "SubTopic": "210",
   "Topic": "954",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480632/954-210-45-5"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "35",
   "Topic": "720",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(1)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column B",
   "Publisher": "SEC"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column C",
   "Publisher": "SEC"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column D",
   "Publisher": "SEC"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column E",
   "Publisher": "SEC"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column F",
   "Publisher": "SEC"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column G",
   "Publisher": "SEC"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column H",
   "Publisher": "SEC"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column I",
   "Publisher": "SEC"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "29",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//260/tableOfContent"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-26"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//280/tableOfContent"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-1"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-1"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-2"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479130/326-30-45-1"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-5"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-3"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-3"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350-30/tableOfContent"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "70",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.C.Q3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.1.Q5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.3.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.F)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "35",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-10B"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4E"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2E"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-30"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-31"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-32"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//830/tableOfContent"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-17"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-1"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//842-20/tableOfContent"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-1"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481444/860-30-45-1"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(b)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-1A"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-7"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(4)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-3A"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-3A"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-3A"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-3A"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(1)(h))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(3)(d)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-21"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(5)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "7",
   "Subparagraph": "(SX 210.12-15(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-7"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "7",
   "Subparagraph": "(SX 210.12-15(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-7"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "7",
   "Subparagraph": "(SX 210.12-15(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-7"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481058/954-310-45-1"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r699": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(b)",
   "SubTopic": "20",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "7",
   "Subparagraph": "(SX 210.12-15(Column A))",
   "SubTopic": "320",
   "Topic": "946",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-7"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479081/326-30-55-8"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "217",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479908/805-50-55-1"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-1A"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii",
   "Section": "6"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r778": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r780": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r789": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r794": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r795": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r796": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r797": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r800": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r802": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r803": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r804": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r811": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r812": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r813": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r814": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r815": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r816": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r817": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r818": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r819": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r820": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r821": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r822": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r823": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r824": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r825": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r826": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r827": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r828": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r829": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r830": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "SubTopic": "740",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480887/718-740-35-2"
  },
  "r831": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r832": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r833": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(1)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r834": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "340",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-2"
  },
  "r835": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r836": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r837": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r838": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(2)",
   "Publisher": "SEC"
  },
  "r839": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(3)",
   "Publisher": "SEC"
  },
  "r840": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(i)",
   "Publisher": "SEC"
  },
  "r841": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(ii)",
   "Publisher": "SEC"
  },
  "r842": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(iii)",
   "Publisher": "SEC"
  },
  "r843": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r844": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r845": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r846": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r847": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r848": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r849": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-16"
  },
  "r850": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r851": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r852": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r853": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r854": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r855": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(S-X 210.12-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3"
  },
  "r856": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r857": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r858": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r859": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r860": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18"
  },
  "r861": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13"
  },
  "r862": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-1"
  },
  "r863": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11"
  },
  "r864": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r865": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r866": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r867": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r868": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r869": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r870": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r871": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9"
  },
  "r872": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r873": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r874": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r875": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-4"
  },
  "r876": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r877": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4"
  },
  "r878": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "340",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-3"
  },
  "r879": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r880": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r881": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r882": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r883": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r884": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-2"
  },
  "r885": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10"
  },
  "r886": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r887": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r888": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r889": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r890": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r891": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r892": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r893": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r894": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r895": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r896": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r897": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r898": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r899": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r900": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r901": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r902": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r903": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r904": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r905": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r906": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r907": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r908": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r909": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r910": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r911": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r912": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r913": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r914": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r915": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r916": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r917": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r918": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r919": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r920": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r921": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6"
  },
  "r922": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r923": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r924": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r925": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "15",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480123/805-50-15-3"
  },
  "r926": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480060/805-50-25-1"
  },
  "r927": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480027/805-50-30-1"
  },
  "r928": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480027/805-50-30-2"
  },
  "r929": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A"
  },
  "r930": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1B"
  },
  "r931": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r932": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r933": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r934": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r935": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r936": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4"
  },
  "r937": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r938": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r939": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2"
  },
  "r940": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r941": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r942": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r943": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r944": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r945": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r946": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r947": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r948": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1"
  },
  "r949": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r950": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-2"
  },
  "r951": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r952": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r953": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B"
  },
  "r954": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480109/944-80-50-1"
  },
  "r955": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r956": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r957": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r958": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r959": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r960": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r961": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r962": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>111
<FILENAME>0001107843-24-000008-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001107843-24-000008-xbrl.zip
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
M:D19WJH( BZ^B=@CH7$<^(%KU4TXL+<D+"D\VD?5#?>8I>4QS>"_%.E.*1T
M[I&%/A,N2[R-$B6[&W ^77\$U/EMH[TW3=<+LE)/@TB4^IF%V:CM1=27&W\.
M'C^X\?#3/4/DPXWWVZV][7U-:+V@]P[L>8 K8]T0L4428/H2V[;P88)EZV/@
M"SG]FK\DQ>V!?Q0V>].YNG\?J?1K2K>0A^'YJ/DB_D-?"FHEH9*@R(EN02=V
MMOZ&EODHBLWJHBPE=U)AAM8S!3R!<KGDG6V""97]P?=&/V:"B2J>!#6KLU9R
M6F\ZUT,?92E8CR.PO8R5IJ\@.RQ+=+YH""HV240,S.U@Q2U:?PF^:_$.?=.&
M E3F& R 9'/EE-3UT/07@PW)3] #/&/12R2S9&SE8@1?XE3VXDS$$U8%G2XQ
M^ Z=\[G'G+>@?-*W[9-^]N5T1@8@[0]5H?#Y.<_W:+&SOV6:C6[!V=]K'>[O
MM[J[A],"H$K]RMNS$)\_4X_ZQ6IK/IX??_U\\N7Z"ENCG5]>G%\>8<_Z#_]R
M+D].3RY/OAR?E/)"'NT7)7GC).E]F,"EX*N")7\-O_L0 %\8^L+/)1!]C/59
MZ+BOA*2X0#A'Y?],28>+.+J;.&:^.(E&Q%SHO*EFQI^E)#4-OZ=C,HP"#WT2
M])%\:^M0<<1Z\U#<7X@X=<[.SOC)(*.+W9'A])["\7*P>SI:UW0[-KT]4&:D
M)FAYQ@US;D&%YHG.!'N6<II1@1GSVFK(B-?Z"#9PIO#,S>ASMV)L(>PP\*I[
M^;(@VNXH35O*$RA9="O?_:W^$S7LJ3B@P D:?PN.L4#+9NZ<'/7LK?PGHI=$
M09;._\GL L/WU(=IUC25Q\[]V3=S?X9F,\=B(-N]6(KO8/:"Y'TK@EM@6=R5
M9CA0;>;JO/#A0+4Q$/Z9(?[6<D")S[=NZK+8ZZ,/GTZ<\U/G^/S+-5HU:]8W
M]&!IV:,'RTNOW(=%W9\]6DEZ1MV:A,RQ'D$9/9S*LO>DJ:B-9EI<J&,CQ$L_
M^>Z<"@)TKK(1G/[)# $_/WUE:5TM;.K^@"ANZ/XXNF_/H7)S9.M-NFU,F$TE
M%N.)F+ Y\(MOX9_M3U'TG7I5F4#DHPYR<USK3//=QQS7P]4FZBQSN"JB/G(M
MCR#J'MA+1Y?7SIGS&-+^\'DU3:,J*N*91:,G?.(4C<+H<>0YW'A_!F+4Z6P^
MI11]F"J-H'P<T70B?J/[UH:D>XV K)^ Q'X)+""/&@FY,L<)J69Y_(V47!^R
M=A[E(C1B\IG$Y*X6DQ\:,;DZYPFH]C6,91(%F(1]E8I^GQ($&E1EK6B,F9>-
MS*R;S-S9-K;E<2,T5^9 $=F.)ST9JYJNQP62&DE9:\(VHK*.HA++1$A2=AM!
MN3+G"8EV$4=CW&/9F)/K0]3MPT9&UD]&;G>4C-QN9.3*'"<DVB<Y$ %6';B2
MF@LWHG)]:-N(REJ*RATE*G<:4;DZQPF(]AE^XER)ODPGSD<_<8,HR>+&MEPC
M"C].8/YP!MC/S)9KTK\>0=)]G?YUUBC"^BG"G2VE"'<;1;@R8A*)QK,AJ33Y
MTB[754-63_[*_'32@N\"JD*V:I2=S]@Z+^:J8!YGYUQDL3L4"7=+X-]:]<.-
M=ET;MMG9:J1P#:7PMI+">XT47IWC!$3[_RXE+.!&>O]_(R/7AJ@[W49&UE!&
M[BD9N=_(R-4Y3GMHJ>JNS&">(F:3<?,9-#^/K#ZAIZ:/['$4>MS8&Z\!$9L%
MW,CV?"QY,8U)NC[\L?.H"MU&W#Z/N-W7P,!^4_90]5H>1[5_8KMC/Z6N3R1
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
M-Q*YR3*)Y5^9'ZNV?$KL@$T$SK7$2D7\<[;H*G#+K=;F#5\\%U\4Q0R8.O!
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
MHS,R%*Z2I%C2K)R"PG78Z3_/C%//\4S"*0'X<,PXU2?O(I$/BT8A$DM*&AV
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
M!3=V\TP21V62:%>J-REDK\R2=S2N#Y?K)"Q&"@E71J::]"Q"?.QF+WW_CF8
MID7Q;3<SR<;8K!?%",Z@2M$$[&%)9^XOYQ8@Q?GG".;$7LGL?FM45,L#\2A3
MCHM[K?BBU1W1X&\:M]*"L9SV;\2?:Y)S=2,<!;@6#F:;XG$@<+"KG:]:KEA8
M<,)% -C:"DE,J4*X^6B2<^<3N_-C2]=14RLA'J*L]X"@/(G19IXKLKC;5N,#
MPPV*["9"[-OD;/GJ^ B]&_BO(5D.2>H:=R889:@H6>LPR$H:?1R-LT#$ZB-.
M[0H'&4^R0I%O\B\+Z<;:F,>@)D\;,JWZ[6Q2UHLFO5D)Z!DI6BW;O"S"IKIY
M4V$FKS.<]&*_.-3BIXA>&\%_S5[7;(=V#;CZ,W5D^ ->#H3XB?("YOKO)^2^
M7Q<*V-5/9@?1+;"_'P&[@S7#W1',[\A34SZ-,N/4'-G2&%%JE!F@NT:35;(@
ML"%*T_=)CU)W7=0$U%J,\HL#2:(>KZ3FQ2K.,/:MEL(<^"(QBID'(D@H>$"3
M:_F@A5A$BW^U%#PY[7VJ()N!>/DUBYWH.%_3I#::W>()T50'6^[ EP^M]H-
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
MH<,QPCB\)T<$\V#I #?6]VWKHG@N5C!'!U'S8[UKZ]P!E<0KVTU478&3H N
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
M?7?KR[L@4W _!771%]*;R ?3"I&!\+NRV6%EK4"D( \W/$,36MTVAI*F?(V
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
MA^@Q:7&ZE7EH6;K1SM;EKS4@,B%B/K)4AR1S5,E6'!]/))SIETEZYH;DY@2
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
M6?QWW>DPP0,H%^F[L+?$C@V'3,&='Q QU?Q\.?Z48)A27B-(L1=4+Y+P6Q4
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
MUJ/P,\=_'Y#.\H,LWV%)Y+WC0T-AHD97<8GCO>%RM2GCBFL1WI>KT"]+(23
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
M.+;F>20. GNW$H>A5,]CV@']GW=Y[2\Q>L55WEZ<-6&]^\\O/[M]',X^>_:
M T%MGU_^UGJF-\4KR8 ]_PI'8DN6*YXQHDF2M*3V 8.L^!=+M=B6H!6,FX59
M&72'5.GY9^3MNGL[5Z$?OCE-^_U-^XI.LDWYCHI%?'0(C\$XI%P@D5@)S-A%
MF)C S+L\[$A:)O(TT_<XTTP X9.1OE<O9F4QR(J0ASY@+?!B!K893SQCD^O:
M,UD0"1/3/N&DX$,T)BI/B^ ^%T'$EFR[75"XV]BNRZN.*[Y]MR^;G9!Z"T%
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
M8SB#S[$Q#6D'E^?/5ZT7/7Q=ZH&R=DJ&PN^+P]!D)[H0X+BT1\(5$8]JE3/
MH-BTJRW[$(/FS%_AFBZ&S&4SY,29=]%)F#;9$SGG<+E8P\$9&4_):(D8+YHO
MY]244R\&-53N['_^YI[E?*3[$\GE_"0'!>RA'ZDWY;+>XJQAN/*"&R+?8 !P
M#+']#]R =T4=;(UV-KF@FT(=/'-7(0E>@H Q6(Z;G>Y6D64X1/S%V'^6XYF,
M&^4H8A(\N+%IE<B9>L$!348##VD4I(CPOU3PITC$IUQ@LVY&Q,J:UX')P:Z5
M3EAIN,0[KL$$4[<M=;B9F;VFIB;A@*M(N:U7L(WSR__5/IO_R]Z;,+=M9>NB
M?P7EZSYMWX(83IKBTUVER'9:MQ/++3F==^K5JU<@L2DB!@$&@V3VK[]KV@-(
MD*)DV1R$4WUBFP0W]K#VFM>WFA3;92FVN/DHWE@9A7.I-%SWK;<TG4>@<WIT
M5:!MT2P# U<;L<8)*_F74BN?S>=Z?FV2?7/$RXYX_HKRC9<"9V()MK0=N02P
MW'+"VJU J@L.@NZJ9"HGFS/[5F<FBKP^):=-CRY$1T2\^9/EC$6X?"0M*8.L
M.:)O=42H]-NMKU5/?=TWL$9Q70"B:$[JFU405L-$U@*\*:,PD&IKA]4%8!K-
M<MNATUI2<FIV!#A7[.Z"@RP_OR9'J]?D:#4Y6ENTB,?E:#7,]^N8KQ.NL1&9
M1NQ]JYV7))B1@%L-8E#[\SKKOY)61C\:<,6E^H+HRPSJC25$U%R&?-,:R]UU
M!=!8B*[R!'7SS:DN-=A#IV%GJ#!U3K<_DH9">'*?U4S"2(GZZOKUYC#6\YYD
MUCUKO8C-YG]3R4* 3P2 3/UK3=67@QRQ(O](MX272-U3%/@WY[7LO#"SL33E
MDM8)Z#KRI6+5,; RG<*(UEN"[Q'/?LI"K$RB/2W^IVQYUU>'*/CL%[+I6O0
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
M+,J=N4J3.T[]EPYWR?HW,'_MM@]"WAJC%Q-#'5BT:WLWUOM4YINA5)I^S".
MU>RTJY(0VV./CZN-5 *K3N(/8ZMX<41!6%ESG>JSJ Y$X=]>W&^4= ]?K*%#
M5(J##OOSI5/XR8;2<BF TOFIY?%U7?SO;PD<)?>AO4;%R3M/)Q.VP1ZB0,E2
M.R<;TY4^I+5Y?>L=<[_7W8=S/E]^SN<S+ J1G(NG4HYKCOL[RJ?ZG: $=!LN
M) YU+1D0^['NU2!!ICR5H48O*%S-6OJU3KEQMN>:'0^O)/)Z<?WKM<1#7Y/!
MEU%##=3\)/G =\PSWYIKY)JEY$+\6\XMZ7"S8.],EB,IC5+.RBB"G'A"(<6A
M2Z%8[Z@"W6*6%H92ZX:K $UQE[P7OF)W,0K=@'"+R46.N(KX!E=;%8]R=>9L
MB^#BR8J*C>DDO=A1'Z:FD8BAH:=HXQ 4<LHU.HNN1(RR\(#;V))A2O"@.IT&
MQ[ZXOOSA C33+A!RQXY&$7N@))")I(?3?L[MCFP;!:.E'2*&DVURD#D%;F=I
MLJ]!ZEJ$4K=W7<+>(/*?*UMN*@FOAH3T[M7D4.H8':L<N9;&6HLH["3Q'.FO
M2"X,BF8LSF4O%.O+_0I>'6E3(U/15T5'=^%Z6YK0<0ZB;3YJMK?1.))+5W^?
M)+\T^)P0W5-.QAVV&(,_%T:#XY NAEQV3GJ=H:5X9H@/IR3I V[BF0T,D5$O
M$;95%%7Q->KZT.4+N2UCO)XZKT*',1<68@Q&WAO)%;;IS\ P9Q6$,>M2HKP,
M^0?=.G;=Q=%G%4?C- WGRAO"8 *<QEV-W!#B<>0/DV&T'R4OT:& R3=T 4SH
MK9[AFH 8IY./% *_A^3:X$I23NG#.=B7M;Q]OAKOTSA.[X01U!R_STV'#]@E
MYEMGI!9*XCIQW&/.QN)^@DDUP7ZSFGXP](O[^L:E'] -Q0B;N0_>!-.<Z\-U
MV9$9^XWCO,7FAI,T03&QW'"S/^5VQNH6Z*X2/D5EGG*"I/P OT/7&#:5!K7U
M5L72&!WXR'PRZ?DX4J-ZA>&2FRH:->$<9)=1$Q"<1+M>1 [S4.],4T;YO>]0
M)SF6JB?%QP%7F;U<6CSO-5\_RR4[=%118.JU%C:#A4J(?V!=2I4R^/,L$)/=
M-L%,=2J%?=9G_V@, EC#'Y#/;%S"JRTM^92P;10X07O[J.E(4I@](B]->+@H
M25W(T'3'$DG"7-  O16FKGF=T3N,3X]6@E@F>TT%M<H[FN+3LF"O)>_313(D
MUH*9C(@!H+Q/*K#:^_GUQ=4G<R^YDX?F1+E57",9!6MGQ@$*:84*(2-=<$]O
M*:\$:A2]S/F-:,X84L"DP. F26&7AY*809G&Y,.4C)F[,>:"VYP? :37DYD
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
M#/82Z'"0.2 /&)D\__$!(/$[ 4EYO(7 ?YUNZ_CPN)G4\YG4LJ&ZK<[)R5-
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
M3JERA[5<K3LWAP>DL!]Y<<#.4#@F((%T@.0$_*=,F*I)CV3';939BU>Y;W(
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
MBJ8&[";K"<011U$&-!/"D6;P&CXV@7C),/TSP^<S;+]0*B*FLZLKGW43T"/
M=B(K0*!9IFRMV7<308;!3/^;M)3Y>5 [B;$2>P6U;B%3>)#9?.[,!<Q&XN>H
M212X M;N^48-%<Y&QDO@!+U.]X!N@GX7S9Q,L70,L\")V?M&0](]!#H2D^VQ
M2]@#VON@K]R/>+5=Z09$( 8E;!CM2-UVFO.C&WP_M0BELO$_3ZMEKA5#>M\"
M[R"J-Z>[7P=QN>JJYW )X%@Z[<._$$/NM$__8JQ]=FBP@:V-</:Y]<02UXZ.
M+BK@^925EGA%SO>]NL;6*!9G(9XCK/S=3Q>?WI[M 2'\;E78N<7YDL5/YH+5
M?^72^FR;!O'L/RPX[!-PZ&4L^N< G2[HU,%KC?!>I"",RAA_'B6WH/.F&8)S
MP>-PBZ?3F'1KXWZCEVOEG4H:1/G1^DN:W*3T=T?#==5Z;B<TQJF1">2EM^CU
MB3W*A@:-.R%M0-3I*;+F6ON =)'*:N:VB]3[W(OBN"24.,5OB&?$9$C%UY;%
M #D/6>DXSC MXY!K;>ZB'%\"VE+^F=TH5O'7?$Q7AV36)+9R"['92%K-3:[E
MO6=GUB3%HX-GX13@=Z2Y"1-.%PT0VCUW9V_2(&83G!0Z?0AF0;3;U0.:WT,8
M(%V]D>)0P]&,#1<@P:3DK+-D@W,NV>W!S@O]3BO;A[!>.[W4V,*:1I$:O G\
M-0+*,YY-ZBC%U4\T<!(I<WAP9?& FQ*6%24L)TT)2U/"LD6+^(H2ENV5W/-L
M,Q^3($G2 D4(>J^ B6;LSXJ D["/%?59LKI$X@Y@3459D/KK.Z(O2HAKTV]
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
M+_XN-0-;0CW/RKRX'J=9<8#P _5=[A_%6-?5IW;[7MS#6,]N@RC&W7R?9M=
M\S;3^*T:%/9?CV2Y/5#0NQW_Y+2W)>K'4_I[&N*ZA^E^8^+J_U_VOOVY321K
M]%^A].VMS51ACP ]D[VJ\CC.K.MFXFSLV:W]Z2LDM2QV9- "BN/YZ^\YIQMH
M!+*$0#)"737CV!*/[M/G_01YWNGKO?:@)LAU;)>=%"T3C[C Z]\/7XO:'S8)
M-NI=0^F!W_'L=<UE5,YB+Q;><Y2!^9<J>5CT8$"SC]YJ',Y6BV@AW^)UY"!0
MMS7J][/(0XZL0@O<1@?[+K '"[1Z.0O<K2NLJ!6@UK=;)E0H!7(;DF7.ZPL+
M]V1<?61</=TTLT>K3)'3QZ1MW*!"3!H )H%^U1^6=H JLZ0X4GS%;'M'I+\'
MHAJ!%R%-4I$M99_LRW8%B&\XA*_<Z1V"EX>(]Z09#!KT]+[1J8G6J$R2(S+?
MZO&IVVZ-K+9N&J6%>;VL$(X:PYJSX <OQ *1\MQ6 &&WS*$&TLTV];<,A1@X
MP'2H#X>E#?5"IW0"FO#9HMLV';D,NIFM4:=OZ995?W1K5CY?/EI\]MQ'Y;M_
M0]_]%\^=[$=)%C#NGM[K*%6YB>A5D?=^?_3JH%Z@F^V&:<ZUYL9??>S $O*F
M!IBHN>13&5P6JO24_;T4'*A?%[8;@E%Y$\'U"RM,%%TP)TT=].6:>/24;_BH
M[HGJ$*F':K#>,:O2@I6NNQT5[N+N5@MFHT?X0B.H4%>10'2#41KOOGPV!N]G
MA.XW?,G=[/> D;E8E#[ZF)NB6T.C)MJ'4FZ/R&@KQ:0!B&Q+[W?-FF#2.>BQ
M'^-)OO8/X?=52FPIYAI!])9&.#_8/[@3;@_-8]@:]4R]WRO-694*6T,TVL)9
M*T.C7AL4V*[>,4JS5:7 [HP(MVYHNX^.Z)U7BJF>AYZQA:DF\(S)X.8'MK($
MD/SJ>=-G9[$H2A=&:S34^T:#:AX5/NW*70^!3R8FD>F#=ET,H7-07Z.S4NKJ
MOIQU7VRW6J.^WNGT:Z)4*-WTB-QS7YSIU MGSD$13:**6,90NHKZ/)2'0E74
MV5X#>T=R>UTLK3;+EU8KE;2&6%6HM+I*K.JU1J;>KPU6G8->2NG0FILPW_(I
MM0VGCFTAJR2_?']"P(*QH3[HE:ZB5DIK#3%H6ZBJ"@S"0K&!/N@V3(4]I2*%
M?$ZZ;<,E,L1K!X?"C<!VW'QS6,%.51A%:7_8&@T,4^\95?5)>/ORBQ+]\Q1!
MG1-![51G4I"@^NW6"*P2?=BIRF->HP*36MLL^0VC/XNY=]$\N/O0F_PQ]Q8X
M_E*,X]+0'@U?-IHQ.T!$.B,+#F+JK3!(6JZK]"[Z<<5+.P??8=16>I$@QGZ]
MI2OJ^EWY_6?51#/N*;2T7[ <I8RITC2QGK?%Y@CO'5OR?.5X$5>+9N0U)DP,
MZI(&7X%L4!C?5(S?L770.L874U]-=*L/RG?-JZ,KZ 2$F;]B4UDU4?',$@(
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
M UIE,0?[[Y5)%E.V^3Z2V5^Q5&A&,L^E/GS2!>=EKA_:VX[@_YP -U)P[Z(
MFO1='LWT6J/JIOTJDZE&R+2/X"Z$3 7E>I_GQJG.5 W$M7V<\8?$M0$ZZJW:
M='8^)UL]SL/TV7?FKLXM!_.@XAX'/>.#_^6$\^M5 )MD?D0F+X6)9 BBOZ_W
MS=(MX)2E53_<*BS]*\4MJPU&?%<W!G4IDE.X]9;2OEK<PG:$/;U;?A!(#>U]
MJU]OZ?YEU]%,98S\W28--X^NMD_"Q$&^7P7D?WGY/<"4YUAAOHJ!7YBD3$RY
MZ^B]=E5C,G<>%EUWN^U<<7'[,,I#X2+&D88#?=#M*%Q4N+C;/,A#X2+&HMIM
MO6>4[LAY<%P\OS'V#A7J.FJ,_8FL[)S&V']=^9.YC<FJWBR_!<EY1<&J3%K]
M:K]0=?Z#=S7Y[\KQV6\Q?)/V?(59/0:/VSU]H-J-- V=MHW-. @Z]4"+[0_T
M_J!,/I1"IQJBT[;A&@=!)PR>]@9ZIYMUUI]TYFG=Y3BV8.<9+7!:XO"J%>EG
MX3'>/N(*H# -/H%:CQ"_<J>_<7"_W,TJH9\!.KA,O9.3'Z8"$B>/7ML'8QT8
MO88X2KJO#RR5M=I ]-H^3NNPZ-7!^KF>I0\[30QYU5T%2)GR%4[?.@]MN:@M
MGYIV Y2T8037#D1CM$9H?Y5I,Z;LKQIB5%%SOCJ,XM5_5J],_;]"J1JB5%&3
MOCJ4LJC73<?,QCJ567_8.=6DLO% DAJO>33+?FV<W6;:>75T3J>C9FPV&*<*
MFO,5X517X52#<:J@#?\J3F5QIU>?F:UG:YH[;FB[CPZZY,^Q+=0AC?)?5@&\
M#X :_.H7&W+7J=V0.V4YO:4Q_BHF[6 O#="IT\LI65(6^$GC45$+O"P>#;%9
MC6G5 (_.R>R.PB(HKETO9&?;@[D"8?W?Q4N0EVP292G<S;X A#=V.WU5:G?;
MRA9J,$9M$-H'Q2A#852#,6I;6Z<]4"N+0B88V6;I K4:FMDG4_3Y;A70@*V?
M4N6?>748JOSS@+T;-Q0\W4;GL'_!4]=JC?J6;O0JB)JKLKL:XN/A2T"KP$(<
M$=?IZNU>5;V<%2[6$!</TCCR@%B)8^:&>K=4B\F#X^/YE8'.'-=V)ZH,]%16
M=DX!JF]L*4)4Z/*:>$]/'B[!F_QQ7L&I0Z2,?O+\!+QWLVL"[CW"MC!GIV*]
MMCYHU\ ?K.(*;Q"?JA"7L%+/Z.M6IP8I?0J7WB!&52$NX? Z4#F'_1I,3CJG
M.%4Z/93]8/[$X2*<9+?F+?$,5+UG)5FA"-$[#M ; >EI84K!7J9=O=NO2Q:6
MBBZ\43YH%=C4:_.L_$%V_K?"II/'IB*9H)5@$_8K!2$^+-W/KH:AJ]I+<J&4
MX9EIH?V#X=SOA1VRJ19ZFLM"+9C;/C9Q",,%PTM1RF/=!Y: /-O^],S22 ]A
MJ7_C$'_P'NP?V )X[BT0*J HWR/P?P$]>0IJ,@[HL_&=A2D,VY>:8'*I6L^&
M(=B.YOO!$0Q[DO;UGE&#N8\*P=[ IC\X@F&CT;X^J ."G:^A[P3!RG8G&5^]
M%LYAPX]SC3TM%]X+8^+CV+>_7-BN<@94X RX%2=0RFW6Z[9&/;V=XS13UMO)
M(U,!7T UR(0#\O1.IRYYAPJ9WL85L ,RO9H W:NN$$ZY ?:0\XX[<9;V B>(
M<X< ;(SY(GF$:0M&,?HQK-3>W[=_LCISA>+\$X?H9P1H#/9(CRY", -5.=I@
M+-HBQRO#HJ'"HA/#HBKM]RUHE$&7?KLU&M8@":A*&_QDJDM$<4EN0F<9Z_IL
M<Z9+UI-\BLYA_YSIOH&9_(;>&69#J;L35:%S/ &CZFP1,B/TCX^0)A_ST;;*
M-'%4"-D0A"Q955(%0F)HJ=W7!Z4&A1P<(2MR%M1=#W'$Z%I40U GT;EF@OD
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
M!PP3B!YX0/(<WPG^H*]@98X/[X"MSGP[ #XZ"5<@IW2 Q&*)BPK9)$PN"UX
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
M6E)X[L%??4,?U]>H(P]Y,7B:LH"M6&0T?$$0$W/AP#R7QUJNDW/PTR/Y? ;
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
M**1S*&#-+6E.N_(H!FJ?Y!LRNXO23T>#TGM,]4;.WP.?*OOX-0$R2;4!W=R
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
MD8X[P)\VD=^XDNL!GYV.S5KRIRW$*!5'&C^D[@N+G5"5'>I/RQ)&:?@Q]6E
M;&OU=]ILJ<7!Y8]$FFZKD#H:1.MRM$&68?LR147.Q^X:M9KK;#^)!D5Y7.2O
M6>1K60TGE?D*YH0"YD3>0#VTI2D7;B[<ER7<G9'MII$U61V,-4E4#8WOYUSD
MN<CW83^O'\^4L7&4SC=T+MU<NL^\H;<319:Q8E,RQ5'S6B<NV5RR+UFR3[=O
M'QR\UV%WMJ3^[LXEW1S7C?3V='=,UDO#CF=I0[;;@ #-G&>2-#J3):JF,W<E
MTY36M]@3F%0<E=^RHU$>0UD_$X\:TF:#N>R_BR =S=)^)#<3X+%O-_8<!GMK
MNR_V:X@KD)TC3#!+T(JT*)_Y?'ZTF;,% (G#JC]<0>!I$N!5,!R[,V,1%@&J
MA[\XDJZ;MFTKMC8Q-7DRG]ASV9Q;,TU3=4,W)_\Q!F/:UQ$[!_[M)[NWDT 7
M! 0BI',H8,V2OJ"*@8T\M[NLPJ=Z:2]1UMSR$GHJRD.MO59S==LSGJ3_'1\4
M'U3K@U(UWE.Q44]%A?=4Y#T5>4_%#I*/]U3D7<EXTSO.7KVB&F<OSEYG9B_>
M4_'Z>BI^\ /XTZM2FEQGVA=Z;M.C\Y=:Q1/*:7.?\T<QQF!L6;QQ")>5[I]5
MGE98*AQCFH-QOCZWCQ!$7&CZ)#3=D9G#VR?J\B7B9G(YXG)TUO:)NG*),*!<
MK+A8U4DMS4N%S+T<+A'7X.4<FI*I*)WP9:X!G9!WTZN]2ZA=1@A0U,%85L6B
M<B,.<---YJNGD$_*?154-4+)*OGR58[5U3D^ZPZ;-2V;5FC'/'W$\0C[PGL=
MTG'UZW<5Q%QM4B#$V>SB5%P[A:0*(JN.1*DYO#]GL<O39 >[SXB?JG; )KN&
MS!G>-:^R,'0:6D^Q!F-5%4TIO]'W-C![X<Q73Q5W#.1-E8#?3.O\44[.9_U1
M<DT=9Q4[X^FBJN2QBKF2ZR;S=4C)U?><564P-D9-D/PYGUV<DFO'=5;5P5B7
M1)FKLMZPV E56477N2;+X5F'*&OY8 T_FN:-\[JGI4==]K?5T6!L6N!O\T.<
MOC!?/?U]4NYKJMEUJMF-)ABMG VO3@<V=L<-! 86394W#^T+\W5(!Q[@CF.-
MV(@KN1[PV>G8K"5WW,(\,%T$NX[KLI[PV EUV5'\<4U"JTU3.Y":<PTGW;SQ
M'D?_/N(NUNEHA29C2HTA6LWSZCGB/Y?Y2Y;Y6E9%GX)$FD*SSOO<*H +/Q?^
MZ]CPFX;F-#Q>UD23=]KE(L]%OA_[?2W@D@HJ@![W2TH^.'^I^WW387*EP95&
MQ^R$=J+;VF@P5B1%-(RVLLUZHA&X9'/)[JHY<)PS!1TD733D'F_Z)?T 2_O_
M[6C+]T<<1L[\E7WD>#/B1;>*L:M=W7%/(!9$>.L_P9M?D9%"!RA(9D($'\,
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
MS:&1U%7Q6@*;@/57F4\S$ J(WPJK%8:9JKPPA2L%EJ3K0)W&B>W:WI0(X8+
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
M%@__1OHY7DS+F38 UI)%T! -;>F'#EYP&Q"7.BX)")HL4:6:N2N9IK2^Q9[
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
MEJ-DG7*?DT_LSW&4K)ZQ4TV/Y7!^:LMCH2A9BI(WI3A*5N>8ZU2\58P#8$K
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
MRJ<E6X.Q(1I:6\UA.<IG)8'@*)^G$8@#\#TM1<+C?LUJC&/(]PB.[]DYD3@
MV=-2: *,VMQJXIM$'8DP^29Q$HEPGNOO$8CK(VIZ3ZH03H1UNT.\Y7ZT\T1
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
M25E18$T[J$@"%U.5N["?R4J*_0 WT$W;9TI?0"FZ,7!X5O"XJ8 8,5,-Q*;
M;J=OR2Q&*BH>W;?!-HS=B/)& A5(Y68.JMJ;XN5I"BRS<;&A[AQ35K9$HMCA
MK)I<:@QVBU8?\OADJ:U$OJ^PNF3ANV#VA^]!]4:O=]Z,?OB+#3M*6CN<3VE2
M1_F4)G643VGZ&L%=R0M^$-@KZ/+2+VXF^!;*@["#)9EL!Z0GL3<7C$>ID/77
MR10_V' (56V43A>P)[R?H^>%WO8]V.[K;0%W!5G9U$6@1NTX6O@!/)\YFZ#<
MB% :T@N18<-<#[V1NA'7RP&=KXA,:4RY/KQ;O;=:C$]?2X2.IT/#L@@?D-3%
M0;.QH@Y$9QLUK<T<U'3!0QP,<R1M#(NL"UG_NBNF^9D$= 9[J) /;FX0X;,=
MW =?(QS2/_&UZZ<F\Y76\P5-"M.5\GT#,?.0S7,HO+=A<T"687/.3Q-\>+IK
M4*N6>?=4/[ KB<=R.K&;.N[C=,LF\'4:!UA_0+UYF#OLV=1P3Z]X]J-5.TTT
MS-:O0/.2C@K&0]C>*;Q9OPL\A&_4)XWI<%)S\$<Q>_T2=!1AQISK@':;V<G'
MZ]&#H;(R96E0 EE]XML!>LL99U;8;3;A*["/1VI T09(-45B5%\@/J+H;0G#
MW/E.9C?_)8%?%.LV=P3?BX>EG6)8UBF&=1]'800K!7Q38VR:5'ML!ZSD@6.3
M!V//S\GX 1\P+3Y#L]1?#R6C$+>40R6SC]=>);579GGM%:^B.OM8>!75-FN6
M6_)*H26O]M22QUHFF-X!9GP79Y,X<!\]5'9HS']V[>K%1[DH_!GF59;6)2M"
ML\EUU_7"F&CY!(4W__L74U&DGS]CO!1/:^FU^!7]0O[Y1^$%;%A[YB^C-/B[
MI($E&J3_2N!CVK.0WH=?3\C4QN/DE<OG;URF,Y]O*/Q.CQO1',Z_>X]'^!A@
M< I^(4!Q&G2F)\A3!RZ/<-RR\3-U')*9,G?#3P)D;P8?O]Z'@Q\I1@-8(E$,
M%OAK[J)/R47L<YPTF%Q,725N1$J[KW=?PI1:Z!^$$?@%T<K-L5_ V@\+OD K
M#]_TY>OO]$W@.5'+#,:=?$=]H<RGS%QB@6[69P9WBK41-67Z)GGOL^VX=#?!
M8PRTOY(GE]-]*X9I8S#.B^GY[#2@&!?P]/]CPT= ,!G?2-#%PWY?Z-O@]>QT
M@_R)=^%I#[R'17=Q2ZOKPY?DYM!^N^M 53:"=!?0DPD,7/WRFHMEW>%2?**$
MNY]O^_QW=*H?DYE^3894+]='4P9CA,4O"P2DQ5')FHGE)"EN([1%$N64%$EZ
M#Z67;7@4^79$&NS9^=SD_TE/XXJ=@(1Q5^UE7&2<F9W&O07GZ8G,0 @)'E>!
M/-)POC"G)9F,"^E)=,J%U3SO#SX3!WH_ >F8H3"KUL]ESGAM-A[M3C$[>-WN
M,1A OTK7"(9,?^[U\=:A'$TK]/'256&MEF<SIGF+U<90N("-\AXT6^P1MM@F
M76L%E/,Z=/D.^ [5].8I39B)<:^W1KSF[HDR$U7B7TA(XVH[MV*\:;!Y)7XQ
M^#&[6>:_;[)9A@+NA:+PB?Z[O4.) FY-HH ;7)WMZ7,<X&83I1P#OCAYQK^7
M.,]U-.T 4=*/)$JI"KP#(Q5OL=W#0L*9K6!$MP*C#,-N:RM(!&UCSV9+%^]8
M>]R/\9M-+AT":Z',TIF([. PHV^904)#,8FU0U\$SRVS#8H9EL9O)ZEVP'35
M=,&3*=6>C4/5_"LF-6!&(8CC=]ATG) %CO"DE&;DO< G^,@YH?E=-)I12(8[
MF@B0ULRO]YG:;&<<F>T29DOI!5O2KTBMVCRG8T6$;EK[>&[WRA08ANL]>9/&
MC&T]7W!]F&JP]> $C( ^/]RY]/L"X&V9CIU;,834$DVEK(9E6TO8.26Q0>.A
M<)^(=)*UF4HV.U+RA%2@V-D%RZQP,DDQ&X;[W'8">%#PC60050NV/R%)S\!\
M%KR$\1/E,YJA1%])!TP3J)YA]3$/*!TJW2"__O[#6@\]$H\$-#<#KQ5HYJ"=
M8%K0T[,E#G'W:?<H%Q<_>,WI/__$E OO\3,=1''?XQ=,("/>>G'-P7CNQP$U
M+7/@-4.Z]]*%\CUW8[5PMT[SC!D=09&!8Q8Z8/W2S+9@F83HPA_6EX(0@49F
M2<N)DM]B@^R#Q>V\8GA8[$945"G'[7W?]FVK)4U-!F8^[#<<B@=+>?:9D3TY
MKZMXG):D>---!'33DQ]05O<.8YG)?I:9;+/,>WPYO9@Q3#5^L0;C" 2DD%TR
MV]RFG($.@.M=!Q-OY\GBL#SJ($7&01%G5*,9>!<1LU-DX7W"B"S *JR@D2XD
M=+?AD5AT)Y0WC/U5J*O<"6%T^OKY,^@&D'XLKSO$_C%/LYL>;&R/I,%8ERI&
M71)3>^TE;<3'"CTEJH+6>B]>8I[:C)G/*\.(4ODA^6V==HM/1R69%ISLT4%6
M.S&=>S#3@M5^5:A^GN#-BS4)92#AMM*YH==@8C]]V I6:D) AJA1C?.'W6:"
MQ29W\2/FT,HZU;\?R"1@@4)](U(X%-ZG]%U3]&6!9$_BCFNR$YI)3#,AG4D,
M?]+DSKI!,UTJ#YJE.H1EP"0:!!5($NZR'\G]/!UP=@W>IH-"PZ8H C;"$OV"
M"-C:<JD^ ?DL$U!A N4Q/+ -5X(RS3P7O@O\^'&!2/N!#P8)[N.HG(!=AL*[
MF#(22V;=X"IQO<XTR$ZS6V'Y6:)PDM<ZR^3FDCP;H06!KYL%]DM:8492G/+M
M%S+_,/M2?,",VL88$_09SZ[*D>FVFQ093&U669"^#/5JL-IC$ZV0V8M37SD@
MF%%$K5^OX/'B?MU#G[2Z*>MM1[1V ;?[50[6VIZO'6BV"EFNL6&TXE <Z/V<
MG9 RWBWO;0_>W+@ ='@537:QIP<]"TFK RN[+DD 9>X$F/T?V"S3;!URWN(9
M7&5:Q'?(2S8YZ8TS)$-Q'>?>__(?+R+0FFB S9![:X[_'D,%EX.EC[%AL.V1
MF1^EFK3V,1 X$N/2<N]M:R1=TNQ:E&)4G&J1J(F4Y&P55#EN<//VP2.X927*
M:U@XV6Y4IM1E-%WI1X1II _&FE4UOE00A4X119/EWM9!/#5O9VJ>Q5/S>&I>
MAR9Q>&J>6IB:I^V6PRY$D(JSV<IKD+9JCFH45"5(T.!OI:8$B[^5[ 6NZS.
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
M77B7%6WF-13+\,Z0XW:D@$GMC]E\Z>J\LP=>L;N\@\#P^28<0LMLH_6*;3"
MI>:)LIMMJ%VY(T\8?\E8%&):_FZ'5&>'L1MMZ>?$2DD]2K!@,<_=9][LRHW-
MV2[KPUVF"_&,^+ $^>ZJ_7LP*K%_5!++9EDELI@E,,X91IY&:;)TG<4TDK,@
MM@O;KA.&,0E9^*<D#CXC;">FH7 P-8LLP\Q>3?-?-@U%3%6?3A%QDZ6AIQ8A
M&)KLFV!&5Y : CA6&GH7[,> )-F["6]DF6NUU+*XN>!Y9K-=%PCR9#LLTAI'
M860S1F+E433A)@T;KGDY3 82)B'$>/('L!$2#\8,=D9 3=_4IL'[)V0*LBW,
M8]=]7;%X5%]CU#YK:VCNZ3O,O5Q8:2WW*+[)%30;"7Y?.#N8(8W()F'K R+4
MBK0'9>!@A7JW7M(D,OLI69RZFXJ!WD%95XB-PY #S+0JIT#GG3ZFD52(SR<2
M5YL 54XHSDL S)S7RF :-TXHAL+=>O_;+ '/%&#::P_>=NL5O>ZI]SW\ &--
MK.V:MYK5KC)H;K!3C5WUKJ F]J*>);L:"V_DE;/C)5:$1_'OZ'>P"43K[<5?
MDB#Q-;.X#%NP#$*"(B!?B!UQMPP<-TFI,U([HLJ9>''=US0&*PUV;K26'9P>
ME?&2,C!D[ UK,=D6DM@:AK!@QV:GQK0W1^/S344Z5M;V7G/\5VI('.RI*#0@
M4T6K,E..Z=<VSCTIS<Y][JDHISWWC%(2%I]]'G;T*9_TZ#-KWREJ:V>?\MG.
M/A6MMV>?&$_?K,FMIRB=[L;:K2/'VI71R6/MUFF=+V67\[4KUI[LFB_PGAIQ
M]HVH>F(UY6/O/-Q>;"_=3R-_781@5K"8[.4R\)^98DE-FIR$A]O!K\U QS[#
M"!R$Q\> /*(/WMA&DH]5J'!T&PEQ_BI5O*6@G:NJKA)3"=5?EM%01]TXWV\6
MS@QX\9:^U$PLDX2_<>5H+SD/?VSD^E$@'7N/0I5S:"1GL+:L?=96D86E%%I8
MVE!X;]-6]WF"'! 9DX]Q!%/)_%"E/>9',L.$JZA6GC"/$S;X +@J]9U><%?:
MMA38;6O?<S/>G;V2>J7(KYFX+-4"B:*I;=+2FC'ZU";&[3$..:HM3&LUY^?D
MKGU%YYO<=10;URXN*]SD1.KX@^ BOS!.R\:_,^9 M,J%IP=I+(DY(_XT2P5X
M]K (N7SB"+FJUHJ0YWWL'"F0@#DX-IH($3_%+-5Q<Q%Q]^@\F;02,HF"0XU9
M,<&72\]&UCPS*R :JTEGE(I\H"]Z+*M#HJT\+'9QAL,NTN1D03KEPDS.*H<Z
M730Y5?!.S7RUQW%-3E5OV>0\.^(.S&EO84.1R:D6FIRCEDW.DV+I;&A3LTLF
M)_:/Z93%>2: (%@7JSV+\VS,I=7S9[C%6;MVN)DII>U*P>VPQ7EJ,BG=M3AY
MD=/.(B>9%SGQ(J<.3>+P(J=189&3WM<BI_M,68'.FF90O?E_8A?,;B-M27)1
M'FA?$T,T=3#>ZX >DFBG2'VEB#88EW56W<(]+&KDUH*#KHW:=="5' C_Z1UT
M3>^L@Z[4+HYKS8?:AP)X*6="X6$NNG*V\Q2M/;2',[+7/K0'[J+G].0I?<^1
MU$L7_>1D*HMD=,!%[ZM]GAP*"8I^B=:X<K:"TH:VYTAA<8V3G@>-U);-S0[@
M98ZT0\Q-K=#<U%LV-T\*A+FA2$==,C?WG0<5/7J'B9HQ.9-B';8[)L!YZ11W
M#VHHW-%J4O@.M\XPQF5/2A7AU9X?%5$#)YS4I]*'QL'2QYZ:K+IQN_2G?LU
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
M/2-8DU#1L:0J8Q$=2^8).I^.5'V^Y+RES_>O;.D'4!'YI7Y?OSU<2XK2D+B
M6_Q9K.O(#.*".VTR\H&Z=&B'V%XDR"DP[Q@YS3D[!CY^MNY\VBLE?F 0=TE9
M HN[HI%,_/RZA48R)>[3UB1Z4WGSXRU;J039 =C1#D;\,$.%$:&N9&K:HMES
M %2/H)>908"!\63144_BOS3>CH 9I1C#?D:\"!:B"RBW#.*WQT<*#  +X[1W
M](G";L-@+<I#(]EAQF,)4/\#YPZIC['^@#AH,EB)U<$'0F&#;!0OF=$@J_KV
M(.)7Q89 ]@5H!SKVV$XB[M*8HW$E84)8)CP XK =,3I%?#RQ,(5[ZC_9)FU(
MIQ&7JF3,:66PC!V-F>NV%"BLS'C 1R!U%R%DTM?B:ZZ\ !Y@>H\N^CW%W1R$
M<,T)>^PG#K"?.1A-!*=;WJ6O=-=_3]-@T;7%)CT;-1NLK=9(^8P&7#+><ED,
M0O%3A/UMD=<6%  JDAO7LDGBB^&9)CN\1 \PR[O\,!V%:S3).TO'<U '?,T!
MO ()"3U \#Q!J/\"YANVH^3GI8''SE\3J9P,'X:\J!"FH\M[88P A?)C^@9P
M9V5)Z7;47*%^U .PN@CUE,X*"HOMY'9L.?H?[<!$"\=SP93(7K3E<:FAHA19
M#(8>5*#O;7(:3FYY5/10DGYO\]/Q$&)5B^+9?FW,ZO P;HB.S$91PTUC&^V+
M&KB1:EENY(UK>F/Z0%YPQQTOB/P\7#*CE>,V&JU%MY$_3H+GT6 [9Y$_->]E
MZII6,BL:<_)A?:! M32=,?P#5H,)WC.H'EAC=QDLF]$N#,MV_"2@/ ?UD6(4
M?C)BP((LEF=YS\R@M_G&#=@2)7^%N(W,"*@M_EJ[V=#+1$TSJ@CE5L5!::L?
MM4N_0:5UH@!LHA%CT17;M!)C5UBZ&JW71L638KVFZZ7DL=_<B:/&]=U^.?)0
MR(D'?\]9ROHW#%39B^ 9UAE"/R;&]TYPAO4L9ZMI6=IL-&FA"PQWRSY[0?#)
M]\97W/^#9?@VH?PP.9ASWVB0T-!FT0@MX\]AJ5I;E[NMQ3S!XU2B"ZQ3P3D;
MABJ/RSD&<(ZJRDUE65:JX)P*4)?@G+P@^'$YIWO1,YJRWEE63R3 3_92OX1Q
M7='&[(!66;SFA1FDB\5%FMSN[JQ91'NR"A):^4;,UH2&0+N*W#86CR,%H9T^
MH96O\[<F-!54OMQ5E]45"LRF\BGE9NDYYE%0A>KI+0C I3W;4-<OH4]@&6U,
MO[D)Z3CXZKDLC\MS8*R/27?CXB*)U<<:<KNUK"#X5$":!.2:D "5D0#E&[?[
MDP"8B:=I<J=YZC!M0@(("5 9"5"^U[$_"= "MZ0K:]V=_=_JXS1NF2^*>9.>
MBR6H2>XH; DV/'>#I,)R6:YHM\Q<T:,7%MQ,':@47 "7,;"#,$A*#7EJ*.ZD
M2 X]N3S,2@Y*)(>*Y%"1'"J20RN_7B(Y5"2'BN30LJ=_%?D^;,K>NOR<X_TE
MI7OP8$:S,@2TK.D-B!?B['+ 5K>P3=X4ZQ-^67,$$PN4F"P6?/GB(93.14]3
M9;U9E:/=$E((!'/4E3G6G$Z4SAP&,$=+5HVV8 [!'%5GCC6!^]*9HXM^HZQH
M5=$<)?D3IV$7WH<DI%ME Y]'\\_-S"BVBGW7^HP 4CNSA-IL7O3:<K-=5D9*
M!<Z5!4D5-#[*)BD%24IM=P5)U9"D-E/999.4>M'394U=A#$\Z?*=T]#;HHZG
MI !(@G.U,S=H%SUP\92=ZZ>KX^()8BH:,"B-F'04K>UFC>(%@IB*.MBE$5/K
MHH?9K3M[$U7TK[L5U]/Q9F;J;M*TL5W<[ATR;4^;>393ZTM2%(OS3AL$L2:W
MC;*,W$HG?PL"+,T4*(T .T" ;5DI+18D"/#4"7 S\Z$T L2>S 808,G%,?O*
M?J\-?D=^(M#'N"'-5IE \7RWRC:L'L_DDU]I?HI82+&0NR_D61TF+DDRJWF@
M_LU.[@MV.87?<KI1,#D?+VEIVKS+((5:.?[,6W$$=-*4M>"7'):R% 2KZLC-
MG!I*05FG35D+#L>!*4NYZ'5D35^$"3PX89W5$>/VJ4&G&\;?JRZ?.7\OC3NP
M"9C<;"XF=FS.'>*4J(KD552A[X>\-#P\:K86DS,%>9TV>175ZOLA+\3>D3OJ
M+KJ]BL>25=?MNZ0/G8G56]A3YTM:&F>TD#.:.5GQPITZ;<(J[*BO(:P<VFF#
MTL[)]Q"4<]J44]@1+TXYG8M>N[6++U%%3[OJ24+)?F6SA 9\DW;QOVMU0KY7
MW5V:TL9F,&VYK2YF 1>V9X^?J%&2(W6^9%A4TY=&AKRD4F\M-HX09'A^9%C4
M;"B+#-7F1:\+SGVEJ? <T(/R,"L%^+\ _CTB^'\)TD4!)=>1FZV=BV0$:K=@
M7L&\!7#[2V!>/+5LR9UF6>UF!?,*YCU[YMT(<K\$YL66.8:L:V< EX]_XR+;
M;L2Z$LQ@N,<;I2/@^L0+;+S@O4\=N/*)QCCK2I/M8N:N>)K-]!8R@$E%X?);
M<D'R^6PX5NN1B--HS>+;9W^.IJB_$_)(+P<^)3\NR1 &^YXXS^0UP!W(SA$F
MF%W0#==B^<R'P[W-G&\ L(C'>U6\!YJF/EX%PR&5&8LT\E$P_&0WVVV#$*(2
M?6#HRF X($/%&'8M7=?:G;8Q^'?GHL?:-V #@W^\(R<[">PC@DTJV!QR2'..
MF]->Q*U+E4M3^(I:_7#ZL7:Q=<^,Z^&0FB@*IH+WCH3T#B;IFK9CLQ$L:9JA
MJGJ)33,.)0X>1E3R9Z:7-,0(0A)&H>>_2D.>')H]ZH MAU\\=B'V&2'NZ__Y
MR5"5SL^!1),U3*^T XD$<8N-0#38.+U>%I4<E&BP(1ILB 8;1U@OT6"CA 8;
M-3F^6%E6F#$B_!U!2VMU%K@T0@"N/$CLE>'YA1C!)C9K/P'_O4\V9.;B:<@
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
MDIMXY;$_3>3@>=TGWQO?XHK?LE1%N/8VV8P<IM&:37";VZ*I<QU)JGTDDE)
M#HOF+G6DJ,XA*&IC:#NMJ98&;5<M.)P3T/G3+*Z]Z/S31339O\[_2/?%3II
MBJPSN6UG#^R/W'1!;J=&;H70/[:S%@K26PY=M<"EJ0#ZE_#_N2U@1KZ/69=H
M#8@ P$$" %=\R=?)Y_5!-:V)38AD1>U4Q, 6_MSQ+8+"-)=#5IV+7J<CB*J.
M1%5FD* 841G8XW+G(S$1"MB8+#YC3C KK0U)&(7L5\<>VR$OXSXSU[^0<;R=
MNK^C5L2>/<LF;!^^#?N3B0.+,7#H/=^/;\//Z6[DLDSWHJ=IQ[>5A>=U?+6^
M&VUM[O<KHB%)K:EO._U_,.I3JD9]9]6UA.,[+RU8VA*H5< +[FEIZB.5UF"$
MEI2$I"E8J:W(1M<HR0VI.C;H"I]8,*]@WE-*-=<4K:Q4<\&\@GD%\QXR)5Y3
M]))2XH_,NTOP?%.0A;IA%R$0PE*'0$;4R_0[67KV(L>2[/$$-I>!(<08?NS8
MT?>>;.SR@T!394+Y+*'1AQ$)_\#QW+#A7 ^''$0#+KDC86&0.4UI7?3:C454
M^12HHTR(GT--JGW1:S468XS;@Z>L07XYU+PZ%SU]!:J* .\L,E0V-#5!_5/R
M4/]\BIA^6&I*& Y.+ HXCFR"^Q9O?0+X2X!T?'R4YS(TVD5<QAB@E0&NN#,X
M=</(<?+@!6-4*+&SF^YL%@S*\N#)'.;6L>D33?%Q*6@KX#_$\D7.@9O\9SN@
M7*A;'*%+1H! !K YFV7"  $#4'KV$'2J&SJO:4Z*YZ>YJ@@!&1.*"_)$"I^I
M V,8PR1&<Z#."+Y*'8XH''HQH#%JFY "/86,4B?4)0Z#)20!([4QT!E#,AYF
MU1)]@0L#RI_/:1>&3!.,6)BS;Q.')\_$\)*!P)?<07K4&NHQ2Z1#VZ%!EM1\
M&D:^&R32\#OBV%D2QLR1KU)4[B?BVUX42!S"^,_(MP/+YN'W&3:80DP%T2"P
M+1MN@Q?B:^=?=P,"EK =2)[-6'B*_);S#GP")W:UV51@P+"LCR..;\>%/4*"
MQQADL)0N%\2#5S:W,?F39YOA?&:>CL/A&&99R6.S22"B-X/1(B^S_&XCQ'G@
M)=EJ($%FKY9(Q# #&>0LG^#R94ND6XQ7"M1#+/I7A&N=VJ@H8084YC>&+QGW
MXYW$0D)$F,+XYC%Y373<T/?&L429+@>\^%?O&3'2N:#UHG"*:9V.&H1BC"T^
M050Y<XJ'&X-;AZ!C;X827X@@0HEF63YBV4\15>.I_3W(/A<1%.$R#Z0HNY#
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
M=+ $@C[^$Q,R\89/MDM<TP8S'&XU'2^(?+II_F554EB_>BYM+ YZ4ZEE7-2
M0/K+*02>X(/YP[;[UO=,:D59#ZO0S!5CG_-D3WQO@U-HFQO,_/J).-$T$SFE
M7VG7*6?T\I]1$-K#UZJ0^K?(E^ AA+?PD#F'8UKVA*!M:4^FR^'!E5<CFPZE
MZQ>PR)AO_6TXM$WJLV7AWZ7L'W\G2Y2O*K78<RGK8@<WNS0(DN=:Z5*;V:6>
M3)<:T[EQ3^(44TZ)FB)+F$W9D![@R6 +C"4,A:C-G]<_4&97*C_C@RTZA(5A
M&>EWD0,O4S1RJ;3>T+?L)J5EQ7\Q/<*F :8H$Y0@_F#5QA2V8/9-'ESE9R<
MHR=PR1@V^14>04*6I6[1 *@"U\:3J,L&S+ZS71X"PL7WZ5^1[?-K!C19+/A[
M\)IY9)Q.[].)YX-DYD\)I:&-$_+ ?(H&8QN^R)^#9 =PJXF^B"7S80<!_AI$
M8Z!FH"B+38L_'K] 2HG?&=H\2]_VK$ *)F#7#^TTP3^UW]D3IF]%B%L["&"&
M+'[5^1E&P%8?K\+9!XTL#RXCC+B>@ _(BT+)L6&>;.7DI3=5:=F):49CK("(
MEQB>/ ;OR>0LX_$B"?ZVZ4)E698O .I??,_$A[^!;1V)3MF43S[Y?#AE48^S
M:" C$Y )K ]<!:_%MQ(LG6 [BW4<L*6X44@CC\1G+YLN3\IK#>G+=%R,FAY=
M()QX47"QEO&BY'HPI1 X6!K!6Y^IXZ1;Q+@)J(LPLC-!1L*=3[8%YJ4+8P-/
M(/!<9FZ2 $8!<V.&)S%!(#WA2&$!;5_R!G]RP</?GJZ@Y%(D=B!R>!JL@H.4
MBDOY9V0]L@M@CV,A%C\.)A*$EP.084,;9\K+5X*1/>'M.8&J<3Q+IMN06 <E
M-)Z81)S1.B6(0WE;68UOBXMS<,OD^"U!9(XD"Y9?WG1TS]3/2'H)=I_S2,Y.
M.?2).CG&UJ;&0XYNK8P]D7+#WP.I[[H1+/4=$Q2X]S?HH+OP46Q=2-X3;$&Z
M*?Q*F&SMS RN;(()L SC$Y"Y$@TPWF(##\6.Q)C8X&38+OO; F&#@LE.ULS,
MKEDJT?QDS1CM,L)E9H&]7,D/9Y0\_ 44/R^F&Q).8..7,ZF>*-$979-(KEQ6
M2&4KYQ;')@/;L<-7'%+>:W#<S%:#CX@_%2'II;"F8>RZL35^B2<PB7P04DQY
MHOH!K<\&P(R_[XW[AO1+OW];>-)<=J"X]S MP ,F291^1C:@9'DOO;'?HL6
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
M8,Q_Z923W=UJ-/7]I1JWMW73CMHZ\7^^]S__ZUZ6;KY>-39(P>D>+ZBQ]XA
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
MQ?5,N/F8.GY((X+X'UP+2-0 K@<DBB2PN2J0ZP*ILAYA_ 5B\D_H1RCTON"
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
M",+8=OF(/T'QP4Y)AS\Y@G\4=L#)>J(3PG_/T61.$/J*%E-$!@!.J;R?Y&+
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
M?PQI:J;I[,=KG(?A:*\"/'L_Z_"Z/&V&V:A<SR8$[[^-,9_,+X$,K(HV2!4
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
MILH,0LP(+DFC0\H\-W>$'D;4)T._!3ONW&1I)X]V]Z@V8_IU,DX7L*QRS,3
MP"G:ZA07I(2S0)#T+2]6J]"\O^ZCH/IDG1^1*7M*I1E9:D,*Q'O 7>[9"QQ$
M[3ASP0*F90W5*"!(,MP*>E8KJ":=6]\OV19;1PMF4*L[R.PXI(RT>K75$#GY
M1B(C*R:SS%WS&]O;J(VGW48[8<R6JV4GD1QGC?PVSL-9JA?<,+_YGG!]W6T0
M2H@BA 2<9H&@IDSV9%* )9%Q2;\@M,=<,/<![=/&>Q1N=2_.I_<1!KQ#+V'
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
M_X'37R^'>7(V?17&XV^$;S$:226C,K=@985G2X*8500>LRBY2&%X:[(\ NF
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
MF@!_1LSK0)-=W!MMN8C?Z*N;13A,*G$4$$P58PFJSD6B1;B4%<<H;/.Q[4V
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
MM4UIBOG6+YX-!N^QJH36^@['932^J'ORVSCH?YH/7MHAN-DMH)U#HGN45Z-
MZB_#:7_Z[9_]C*^'LT?7)]XJB?^%'C,>AL'5"F[>%E^RELG2QFB9631O\!'!
M&<M2XMYJV3J^NC78=F'732%,?OI&.T^^)"+0AK"P.18-)JT4W-5>3MJF#"HK
M R$4K)<?S$:R; 7OKMJEX4+V%=#=#U=7QWD/I?MC"0HOEOKP;G6UPWWL7]"O
MO"T?Z+L3.K[JSSY,PWCZ<YC.8Q)%^J"2M)"U**"B\>"YE+6]6> \$(]4ZS3G
MMBLX?*CY8(Q<WD/E$,SHKG7/PZOI.:ZS%20O4SCM*2EG<++.P%+%1D/B*[[U
M^;<6L .T*SS(OMQ>2QVD*^W\8LR[K/$>CT*@(<_ Y^!JT_T(+AA'DBHV>19R
ML*W+%EMA?R%DA[I^\EY@CQ^=']CC1^X)WI79BR_XX@N^^((OON"Q^8(O-O)3
M,$E>;.07&_FH"'DJ-O+M-K*3Q2_$;Q_" ">OSNN-]:#Q3<CZ#^S$OMURO0>W
M7E6,3G#:\)Q4=/[2=E<'F=>8DTXI&2W;SPP\,>LU)9T<DMPB>@E*, O.VGJ-
M&8MCZ+-O/JWVF5JOFW!U/];K)KH_%NMU6:/OV_O4+ JM9#'1DI0Q802EBH,8
M> 0K,"K$D))HWU?[<5RG=>NP$7ON->EHK,5.>OP\C'&1^K8.RHXRXM=#>)BD
M^/8:WI!".ZCG<&3"*(53@=>Q&A949+F>$0@&549MI$W-:[\.2:)'TN./A4.;
M:*4#[GR'J#\F!VOP[>.(L$\N">]U>Y,<90H&R.OWH$(R0.Z< %-RYN3?16N;
M1R'7P+5_[[@+G=ZUQEHKI(/0S&V,'\_'H\M/YZ_)(!M?8.Z'\;<%2*\YII(<
M"%F;XDB"&YBT$!"9XUJ:%%H;2FL!.WG:M%')D0P_"C$7SW*=Z<7*/ /?96]
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
MBVD*LP/?)9]1D"?$E91TX*L"/@4-WL@B8N&)A]:WHK<>_[P=RVWUT!TE%N_
M.F Z\@>_ W(81VYKM2Q7[PXR[<"@_1Z4%\*S>CG#M/>U54"="9]-G6W+F? ^
M,MNZGF0/"G[$X^E&OYN(LK5A\)'6/K_8J#M5OK>=+8X=(Q2F$,GPS34WTTL%
M@04ZZ9#6+5#&E-<;=;K>\_9O$.R@D5&WXFP]+_>6L3'/O/U(!Q8=:A]);U=]
M0$)"*T,6(++,H$2Q$*R/D#33RG!5NY!L:@.N>MB3U75K039\M:\GF<\+UGSF
MCDLR%WW-J3;:@.-H05B'J? 2BEJK4^@C4]NO'_@\3;/M9=XPJ>7N"/MU8&QB
MCJU#@?:O]>,&V ["OZN^'237Q1M\!<<X8WF)D)4@:T.'!+%D!@Q%4A%ET6FM
M>.&A%;C"P.I ?QL(K+'>?B=)75Q>+(!(AMDJVOA++@0$68V+ZP!<%Y>,=3*)
MM?(M'M'<=P_=WYFZD]A'+636T#Z: 0E?;P'A@4O+LP5&.SX!00/1UXD0GG'A
MO)=HUO)R'E/>[8<^0>5M+;/&;]['_K0>_Z^'N?^EGR_#8+:=%*&UK--D1*K;
M26$!0B*36UB6I72L>(P-E+CTX<_7%MI=%RM3*1N1XY_]Z?E[',SD,3GO?_XX
M^F4X[4^_+1R#=: VM)TVA+=_^ZJ!0A^B1P?:Z'IW>02R9SHX&PHX]*4VY^5
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
M0,! *R]!ZT3_+_):V]#S'/FPC6O01A<-+Y*V:S;].-27D0\;*72GUOV;:^/
M(Q\R5T)&.DUCR;01\B AA)3J'ZR@XSZ[%BFQ1T&<C4<^[(LWFRBA]<B'NVWG
M^54:(S.*&^X@2<WH[,T$)VH/B<[C9((2[&Z'_Q7VRXH'''<3_XTT,FHLSOV,
M<,@J2^$D@LBA@-+90V2LCA%UM/;BC&>VP9O_%$<X;*/]1I+N^O46"TP"5;'1
M!Y \TM965(#@M(3DF-%1.NO<>N[)B@><GH*;B;.AR;@4D[P::Y=2\A8#6%M8
M+=].X*0C8&AS8:;.%5FOS>^*!SP3%6\CSM:]G^]B4@M,*'6)UG Z552N!@H'
MSUD$;I#[Z*3!L-Z0B!4/>"8JWD:<#=LI=]^#YLUH^&76<N_]:##X=32N_ZB'
M* HM*0*6Y*KX(@1I-#"+OI!<)5MORN11M"]:ML(CC(=U?-]^O 3JJN*BV]4N
M6O8A&NTP">#.RZH3VG)B/=VSBMGF:(Q53^]->7(='?? TOV_4%M0[)A*.39M
M?R8YK=,)"RYY.F)I0P/'E*5E2TR1'"6M\<F\2D^V9]XIO4D[$.R8JD V'7V7
MG&,9ZSJ#4+1.S\A6E:26K#*+Q42?6S?HV]?:7EZD@[Q(.Q#LF,I('ETG::%@
M__92%2O1""-(']6U#UZ -V2"E\*YLL58QM<*A1[%NW1O>2^OTT%>I]UH]C3#
M"PMC-F6T)AH'HM01R#4Z$TS2X)4(*-#+P)]@9&&9O[1A'&_=6O!M-^^S8;ZN
M$!_5;[V]G$ZF89AOVL^;>AEAM0%C14V5"!DB,P6\E]PK%E4T9:V0X>'7\H0V
MMMWB.T<B[XVX\Z2<U.MW_-$V([?/G<+)Q_#"0PC:@DJTX;FBZY!VD9"96(0X
MFGKL;D3P;-[ (Y7_1A1\4M[N^N+HL2*]+=K3-L1F4[,+Q, 2%/08@B>CL)OV
M. =>]Q-Z]XZ!_$?X(F_$W"=UGF[<NXM;\HMR)DUZ55NW!(@E%O(:F%26)<FX
M?S*O\.DVAGM6[W&7''Y21_'W<<''!:$+AI@L!UYC'4HE!]X)!&F2\4DZ*57S
MPOQC6?S+RWR<+W.7''Z*P>_+,4X>EX+"(!T6!D84#XKI! $Y H:L(I<!$S^:
ML7Y-5_[R&A_G:]P9>Y]FN'T-HT3EZ+U#T+S64A9>9S$Z"2'I8(5*J,K32;?8
MUC?N*$@?.PBTWEG9+U]QG/H3?#?N)^P5SYUQF,%:[VH&LH!@Z<O(HV;6DZZ+
M;AJZW_<*G]"VN\> _E'S;*7Q<YC&>6\"B:]F=N^G.]Z]Q^VS!=[#:SV>/G>9
M<Q.ECR!$%K7\J8 W.8'GF:M@I;3K35UYIGWN?*%3VF0%VM5)$)@S>%';(0@M
ME"XF%]<\T>L9]KG;A*7=];G;1-G'V>=.$7R+)@#FVI,>'8E0V0(B$,V$]IQA
M:Y_QQ/K<;<2!!_O<;:*+I](G;)TUO?2YVZC/W48TV4?#L&UT_%3X&TQ$IIV"
M(),BXSHS\)$)8$ZC\2X*:?<^+?9H>+M1G[NCH^TFJMU[G[N(7F0E$3CS=2J
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
MPM1@W3BDZ6\7T\^O9I/IZ K'K_],E[/:2KZ>[="_&G0;*(<D!^W!V%QM!&7
M$5 @9T%S:33A;IUULP?,(Z2+=NV[=ZVLUE?!;J)QM>#T]&PM)$??KPZ(:"[@
M>2V[.RJS"2X.$6FJ%9)4"6"1,U":TR9E68!L:>^R7B;T9JM597\,+XA ?6IC
MH\G0,'[^%J>+,X9W.)YG8)\-IQ?YXG)6@_[W?GE 9'R_%QT<\VXPOD;1[/47
MO\<T&]-8<+)8:3 O5J*K+[/IG*2_E-=A7%/3)S?05K3U5C!KT$,6M?PCV9X0
M,XO R)U(PFMO2NLP;ROL[:+B!R):Q.6<UH5K88&K4.UWX\ ;=) YLU*0W<!-
M\PN/34?05RS]*-S='&_O7?G'#L4WTL./UP\_8!ZO<H5V/>808JGM3Z0-Y!2Q
M#++8R$A$SH;6EP8Z',[QCP?Z)^GH-,G20>;1P\C6NKUL@Z^C1/:GL!TGH?UD
MR+ 520_4Y#$8IPH:Z8T'398\J%)W-F4SN&"=,06U%ZUO'1^':4]DRS];HNVB
MP"[;3:]:"-]$F54T21,PX^K](R<">&X9"(7!\J"ERZV9M1%,_YY\6[UM:O9\
MD- [.+,YQ\ET?%'KULZA?20I3\[??UR"TQ)U%IJ#\JQ>A6860BH9K.7&<$0=
M;.M*F(\">F&L:"?\UKW]-C:A6U3I6"+D*(R22D.PQA)"PXB[3 'ZH&P,&!/>
M63 V1/RV>MT+47Y'\NT@R_K '7:9*FZ#+]K+ H&SVD3$2_ B2T@V<H=*2"M/
M+(ITK%3^DPA^]*_TC;O:GM'G6P?.F/(/BZJN])9?AI?73X>4'SRXKL]9,"_E
M%>%N/WFG&/(N*/NJ++ZQ).Y7;&?#?*>;;N.H91<0NS217K;UTR5C=C*&-J\5
M>S?261RPX7A^7C=,BR$\!.)F,[:T:K(4P/!Z!Z8D!TZ3M1Z%*E(J1DOKDV=3
M.[[S92J\2\$W["6SL-/>OWMWRR2+S$D=B@4C:H:UIEW5"2P@8[$F9U]S+K<S
M>>\\^07K^B AMNZ*<F_?71:0RK5MRRQ<3IH;"7>??9B9\#3< ZT%>LG@[/)R
M[15/[G2/CW_C P^9F/_$4L9X_8\P_/TF*\MI(R(WD)PSH(+@$%,P8 N/O @6
M+-LNJ>W>H_N;FD_)_M:T.DP$&_W%#?-J^=_U2VV2\[>__!]02P,$%     @
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
MW_S3;AU(_O5\S5^94ER*."_.EY#1D+U3D^T"P=4UOKZ?B"KK8-$35<"(C#"
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
M9+:BU_L7[4X6EGUK$AY:<WZ37*+G8T8"/=W!<DTIB<\DECP<JE4\DN]./'<
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
MI@/VC"Y-'"GVUTA++_;;#<S!>>Z<N#'E+)#: NX*UWE!E^8B7:$C%Z%D=@9
M]4TF(^4[P?MSS#C.,NTF?=O=( ="(J&+#T>QFV &(&!$O93<FKNMCL#M@QA
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
MBG\B ,1;1"-TRZLRD\ASV&L1P0(P-5JC=OSH5H]X2;9O/'G)JN\V'2DU^ "
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
MG#L#)%S*!F9!M5=0"6< X.&F;&"KM47:($N3V<T)\PTM@%#U[=7W(>,8VM8
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
M]?->PB.N=YP!Z+TODUN3K;H))]%; Y*_"ZG$Z7.-JO>)YUX(+8E+L0NF+P?
M8-;MP/,H= 2*/4;\K*O$,_K?+_[!L Y,W@PUV;3:([DZ%XRU*S(G%=(13@K!
M^;:/[0X2X3>MQ)??0%C/_U9J0?)>NM13=QIU$7<K_G<N!,=^H<E@3OLE3V27
MJ_1CK7MU'(QF04*)TTBRMS @8&J'XN6*&R-X@&^VG@&>+[T=SWN\7+E0R<;G
MXRZN>@8(:!%9/@-\D#@/-,E8DR9D%/_W>QB[P*+[0G0_.]15:#83?A6R;R_5
MW#/R Q$<<=30K^%YSDK<R=^4[*3DX,L>8280VU8.)4AD0%UA_?%Q4TA<?8E6
M;/V1+WF#=NG>X9P^N$.)U\+4=0=C("Z.42TJW6#SB"'Z$K[C!.*7X5%RV%RM
MNL0MXR7GE$'9+@^Y_4:UZ0<7,=D*O7S INUE5,)L+_G>'B+9=$9GK$/"9E3\
M5]WRNW8+]_HO@^?\=SJT0A_FLD-E)C[3&[]7OL?B,KK6[7'-QR192H#+ATX=
MHG@BV?&> PVA%*SJ.>LDI-^N%=IT_U.$Z(O^^D-LC-?08RS#9)8J,2&(\PWQ
MB24^FBM(+^R_IXIA-)*N\)KZ2*<T]1-2F1 A*QD=D%!X^R\'Q]47;9MY<272
M9P":)56096%HBPIO:4%8@6!QGWUUW+4@&!:Z1'JKG;_19! ILWWEBICN[JYP
MX^?RY?\^?C#,%;JZ_!58*3B++D%%G0%<Q&V.4+$IIZ_OZE9410"RU[T3]*A\
MBL".8)4I@@<Q,%<#YZN61=*M;FEN,9.PTDM__;Y3R160F.%ZQ1I,?H>7'>J&
MQ*2@@;C#I]KYI@MP!U/SN>"/-=V50@T@R<4A%;FX8UD"7R*2ABS[.JK8E5/G
M)F,"Q L(BNRW!L'ZFE2GP%+E\Z37@5?N[$F1D[K*_$^IQS(T1\A.8+@BJ&.!
MD5=<:E*N1?329':?\N9<7-*"^MJ[5OHIH37J<-;5L18+'*J+U7*N9\K<)Z-^
M<NH2S"]-5D(5',=6+'"T^>+O&:!&.RJY$TZOK'?GH[;P1&-5'$O2WV<5YZ%/
M<P].JRK 1+JV5=V[.L3B^&UHIJ#*(O0K)D"'#?1+XR40RX_J_P[UFLRKD; :
M-"V_,?<3R%-T WA\;))+[6K23@Y:+8?9"M;7UR?,!7JOI;KWW:+Z=) 9*O^=
MD4-2M]B2#_Z%=&J8R,<00R3:(@CG&.^P+/F#!(I0O,I9/ZSMM9J>=R#Q/8/N
MK2=DXN8.X*%0$"9K^@("^[3(@NB^O%B1@M.^.EL[+K>++S+:,55ZT&MD+*6
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
MA-#5O:'%>P:+(HTR-/N0G:<!%62=2?&OH2>S%E*AVL+VB)"]4(-EYPT4X@S
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
MX*DTZV6F\H\!D\JR%(&F89.:L1!;9S*<%(LTQW%+CLLEI=+W[2N/]E+D=$E
MDY+OQ9Y=<9HG3Q7%DV3P0NFO+'^_43DL36C/*D\(]_#_4C<I*;C@TMT6QF9P
MS<'KU=T>M/E][J5N=2],?FNS[^[GMV??-(RG5V&4LXW6;>3R*#^ZXZ/\77\,
MY1-TPAO/9G&]QI!V8;U;L?JLM/3RO?TH:<;@1#[/7X@J%@F#3G,FY4O#V:X)
M3_WTAW@DSV(]1*]"&4U_IO]H <>_%L%&3+]\_"73"_9=U]]J]5<VW=A*VAXS
M"A[9(#]@!X>6[ @A?V*EDMY<6AWN[7];I%BO$.F'^VH<8-8#IR]9G:!1+X;J
ME_LV1HPUO'[I.J+,]LJ#G%O,S- 'C-5&)W3\-C:<<LXP]9<4=VJ,57)D>YXT
MP//,-?90=37/)Z$59X5+QJN6EE^7:Q?9][1[DE!WMTO\IW25Y:]L4 [2OL1<
M A3BEU*ERH=W*#-\S+I.+1W)"](H+^MI=H.7BT0XPI@1]C_N.(NFDFWK\5-"
M/I;\YCA&1)M1>R!B_!1*,XI-S.:,C8>PX7C:HK"6T5RYE&!4@M-&E2(81_,4
M!T7Y!]"H':6/LM@<B;!)Q/]P,XP";&H!#R:R4?W-F@R?+!JXK29$^Z+PKP'[
M!^+ L^LBRIB=PQJ468[D&I(-8B-,L]*ULJV\H0$VI*8_X(V]]SW[E?-#956N
M"U0RJYEWR,9VX&P$UFS;'IUZS(U,;)?W];G!BKZ;[&3/U?B)X)?Z76 .(K_]
M$DNU]=1&K;_")7:.(<W@(7) /.OADD?-/6N5/']$)-Q"@:/[M\ D3,7SFW'A
MT,S>7GC-@<7<_.I6Z(%IS"IB9JH]4*YLQ.$U_G6RY1>^'B@TKT&%#53K>BVQ
MXMG(D,Z2!)!5J1@B 0XA\FAG"#2J-"5#NC9D;\,/XE(.:WOB[FO@'V^/;C^R
MKI*NZ5UU5CTO@MJ.GV=UM^R/_*J34+C1HU%-*UR\K.X3RO4V*D<?$L2\#F:#
MO_X$7FDI;6BW9_C94/Z JY+_H>Z[6^VI#U5X7UGQ!&E19L/;>]&(#$L&7(Q&
MJO$6 Z?M2H.*K\D@TT6*3#?!5?AL>O=.!PG@+CU6NWY#,*^Z,:BLO4YUA&H(
M/Y*.142"*W@REN%,!E#O%MX,_?3NY_)7\PJ"I1,:C#<M7'Q;>QZ8YF%NHEX'
M8W14C+F=%F(ZU1]X7YZ3H/5+48RLXPW=>DL%1+;#V>7!JU=X:/ :?MV,UT,%
MF@?:NX0T@IY4E%.&N&9&EDL^ZEJJH@PB<-)4#T4)(VR>)T*_UM4E)N1_=\D_
M6Q'L<8*;O^?0=B18\S_'&DH,;QXQ)*P;$UG/8F"B>0O\I]W? DK"7BT^+*A]
M4_]S6B#J]$XVW<G*KDU/%MEQX2^<U?63I^H_+=X"^/N&0;R,1Z\\*([,Y )[
MD%<ED%2X#.,Q2>,ZA^L3%F\^9Z)";GY@AXFLN-SE=VI)P<*\,(\NM''9OBT*
M,YBXKY7]"E 0FVWQP]3N6N?@0@W2\4J3KX?Y/L0T%]:PT@LR#@Y]>)+@\#'P
M'=DLX=G99WE!-%[M0\DQIZ.-OA7$IKSRG?J1U]V['V^?KJUAF3$*ZS65J_ H
MO?ZB_0"SEXWA\W=FX;#O.O&MW_XBQW_1GUP"P:W,:'P>$@7/C#;,&$P>M^6J
M1W5Z+<=OW'EVD,N@\.V+\\Q<AR;FEL^L>O,SC>=.2K-S5>5G'V6 6]1\"\'!
MP8W5@!_L3EZ36!=#6+PD=5$S0 [H_/P<!($0+ .D.^"SZL\G1*^Y"7MNC-/Z
MM/F8FHDG%$E?:ID:4_S+YY'^V/5Q88)ZWEFJTCR'>M7#EA]L(?G34PH8Z+)H
M9(MPU+[HTX; $FJ'>.+XE2Y_P4)\:R!E9O6:*['CSIL*HGCBYZ$%DSN7>J8&
M(-^#%&S4S[*;A%=$H^XYA_V2M9K8%VD:$UBO(P$JD58.),#G;'>OA\M]LD4#
MTSP&4SC+$ST6[ 7W5TUU?^Z+-[KQ3CWQ6&^EI09GC*9I)P'4KZ73/=Q-MTO
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
M?_N"%UYZ(^IW,G#P<Y%0Q=F@ZJHTV/F-=;U2OGP(5>.KU;, *);)6KG(3 0
MF !>S51M53-AZIYU51SDW>2L%:\5*HK]^2]?3LQ P(>5DH>B%#C*%TVU@A1^
MII_X.AK9>%[:O-I$G*M8Z0W(N9WHQS#A!O:KU:K%89YD%,DJ:Y>]G=C(I%_Q
MA'K;'\!L4'*:7#@SK6'$6B:GW#A]+_8'RWUR\C;>^,5W9)BE7?><3_HKG;.A
MR7'WN@V#^62]!=G R>4$P;WM(Q(0#J=H@J!#\0^J[$1%K%NF!=)/'WN1>;\2
M&7\)>K\Y13[:?.$?6S+BR+M/-- GV'?(<00O7&3,C"/FAJQM^G,1E0GC:#RQ
M"?F_2ADUX%ELC+/!9C6-5RL?.@HW:0I5]"Y_2CS+*5NZ3R7OQ7RB'R$O9X,"
M@^Q.I3*+:_3N%(OY1@K=YU;;U]39A_8KB@3^,+K9=<6\.DKTR_"Q'9/08<_5
M5-FR.^S)?!NMY+RQP;AA2N.5@[A%6K17_-2)T?&GI?[W);LV:GGO5X.*OAP?
MR_ <HS>[$MAW( R2$QCE0D;CV476B/8E_F*7;A6:[;OSM5X+6]&GC]KAY:;!
M7[8ONY9"]>_MJKH)YX89*_<H<-+^4!E.*/$.5#S[2/@+0Z,UNB]J=-K.?6_&
M\57E6*9,-GV$<%S>96[7-BZ+H'N@T'00@0]" Q/-ST)RA[FIBL7*Q>U"#KY*
M8IHG2QQM\-HOE[9'BUE2%V]Z)1G*Z.K673/8+&O_.+5$]:^3>] 'T<B*S 0,
M9Z?.CI=?<0/S<=^"&PN9A+:46*/3.F\FX6AJ,DA!&Q+%PY&E6SEF/E6U=7!
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
MTFS6O[!S2O4!%7RJA0F)KB)>H66Q), O".+U$_'=#'>;<N]B,4%RBD"#A_A
M.J5Y:-$I-<FO9TOSR7M?'ZJS6<3-0A:9XF5J*Q"B=;1<KP@#&!%(:-:%J@#Q
M\TZO7-J[LJ)AMG*E>DUY?]+Q[G[_'DV(T0NO8$:RAIYK+M_7K%9IR?";2H&.
MQ%DS%I$6F7,R"L$D5S-P2=PJ!AD:J7L6)H78\)3<=P6[>2-1W,',*V87X19(
MKL"9K(J!A'AY'8P4MKM?9>S+&$P =5Q[)+0:\8.M[:T3P.+A(41F'J3&2P&
M*R3T42>[TLN(:$A-1&(1[.:XXE\[@6"<#6J<(V5>2TY= O$7?8_#97,\(G$)
MRA#]0$Y-EAN\VPA=(0'3YX.,@B/Z]5*7M%%MI'4+<;"IEB*O>5Y\EB9*X$[J
M[2017 ;OVM4.&?ZKH)EMP4,;(O4;_#-H>O[>Q2\$IEK,.R(Y6CA]IC;*4TXR
M9;X*Y^7+ EY4XW)IN/,F\(CQ(Z$QT T75TP0/LL0D5<XCS>3M;H453W$^ C&
M0@*>-8V5.CY2J<X8$%B.EN7['F:;Y:KX:OM\Y%ZZ)W@D2J0.P% 1S@4QQ)_
MB\FX+VPU5=TL^#SIXA9G_U=3\0(LK2KXR1$"(+9G*IR5(5\["JZ8Q2O>WE8K
MN!&OTY%.,<PNS%M;_8A6CNC"]/UZG]5+ GYPY=S$3*6CN?FPG>C)9KSA-IRL
MV*.Q[[A$JG?AY7;;V.[W=OYWG92+0A31E[<^QD]@-@D,*BN1,40QV!U<.;K'
M&/.LM$9/2JLT^=LCCVZ\.JO8$.-O!JDGN[?B0S^7W>2:^@ZA^+/=.,VJYE[_
M*B+,:#/*,R=ORRB^DFHB2741ZPYU&?G6.YBG?H?=,CZ_&@@\F0)C_%?B$]#Z
MJ+0H@BOB=X_:\!['ME6MEE4R&W7497)WL1?LO-81JL6(F8/EU!2\+ $\K,AC
MFS:5GIJ6>Y;;US!.S9XU4)?DM5#^PL=.E8T;*%7!SF!8._8HL3:88C"CI*P'
MDG8[U3'_LK EPWQS1XCY5675_XV]]XYJ@MOV18.@B"(HTEM04) B(KU&5$!$
M1$!ZB5)$B#0!Z0F"@/0F(%VD@Q"17B,M=)#>"1"0#@DUD/;BWN?L_9T[[CEO
MC/?N>??=,?8?&<E:F:O/\INK,@K9,E#Q^7V(9V8"J'# <,)&VXRE7E9DP))Z
M,,9,@PP(-K!V6YX%:U^:[0?V,0>]_7']T.;LAX=GO _@OT!304>!PV2 _6"0
M@F!,90-=95[3_K6ZD=47VXZN7"QQU '49>H/7MA<B66X1^#'^6(G.BO\;OW
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
M_[Y=#+U8-H*W(-$=V#6A:,'X$8%&_FW-N<RY#[P+)QX(CR.=70_TE3I(IV0
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
M0"FL2RZ.:K4G]DR/-Y+C[>/4 ^=I:M(C4'L,GK5*G'@COF%#B'K/FD2W@LF
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
MCX4QP%9DV6!'[&.@@T%7< &JDI80"PL#'HDY@$^U;GB./J/]S4:XO$M2 T:
M#XD%L+6ZS18QZ#4(#*-#:3]M.R,+#MYR&E*2NY&<^M6,?9]QNM2I3 F7'SSU
MKN[D&<L@K0NEJ%G=>[S !0N?D:-A8J+E9KL*9STF+R9*"K]YR[T$>;??$9@F
M>J4W/BSI&JO!@O7;A70;$K\7:#$KJA&"M6Z#58@1*F;R8B++AI<$!J[%?= U
M'Z#B_A RE@M^IKD[N.6\78[=1S/^G %?@+7FXUZZ8CFU39R93A9&RN J/]>7
MO>E[G;L,4;+SR'<NZ@Q^LB2Z,3P?X3YFM4.<F? .U__F""HQWM[:JU,O;&>8
MT3;H=KVH_6',W#?_^Q7+XKWW@%\4;D;9+LZQMFF.E Z/Z'ROB1Z?GI<(#A=X
M5OC%!P @B*!!.!$[9!"F\\BB%K.=3C(L12M6#?^ZQ15<O*25U+)QX4,D&3#A
M@']%&=!Z8CQB(1%&3Q(B#?)>Q,9$%V"9O"(L*Q6".@M0 G>^W55DERGZF&FU
M-[D_%N. V:7H$8M0PE7PT3#.?@E\7K-(>U$Y=N,:_"93W]"NE_B+V>*ZFS?1
M,2<."DL(QT(*;MK%B22W(5C@'3&A0"X_Z?S>4IS3H&9-#:37V/2U8V[@;[//
MF7J(=_(T:'JOD_.#U^M@T\E'P]B:[1:\DH.I1E SRT:J8(B4A[9=^_36,:_'
M#U'!C];^X8P#/43/C"QW !)A]?H+8RAH(:.9,PN9A=&N;02]V>09*(64&3_L
M_R558<XG.",&O@3M@%6%E.//0BR5,7;A)$Z(0GY=B;:3]8A!5%6??MOOVTA#
M]=EOW+$]C',+=^2!=<S/:%<0!.:2!=D8CRQ./P5BCM^EQ<W2QTNM2*2%_N.:
MX+*;Y:D<2CC;UV,/%/Q6N-$K>RURM#%2Q%R8\RX+:19(_P6GMN#\X32ON:+8
M?*:Y^/N3B3).>6I1W6)D@U'?<VM^--4C?ESH5@;%8AUBN1:4=[=0%,.5C-4(
MK++G3S8/?6K6]*BU)<[I9G.XNAI_X;V>E-T*Y4U/TGD*!KT903$-UF*[I/#
MYC_/P_!1;$(2;"^6,8(,.*(=!QULVFL0F"5)>HZ89-(*&4"4ZP;#/SVC7>XD
ML#K_A-Y*6PH-4+*_F>C_#7=F4 LO@/T)[ Y<=.+5#*H/6N&P?OU)@@S(U. 1
M&0 Y,$9PBF]SX.6>D &T9(#=R +LK-<KB"_1N7U5NZ;F)VU7]/S-,)B/;!]'
M]-*])['GM*$3%.-W$>>\^!N.-2+1\1=X6:M6^\Z]VF\]?U1='MFXIR;T23VG
M03:YDE%/9$4')[B[W>&)E\>]]N-$X" E$%/BZL?&+D+1$T9 5D]4^Q#[U*=L
MBUF&!R_0'* ?[I0V /^'EEG642#+&V*RWTLLDS.=GP'F=K);F8,*L ;"H]Z#
M!"HL\IG0_QKX2'6[<)N/X@0ON :T0V,I=8Q&\8(6<N=%B,50^GF_ZYB)UHRG
M,TC.Z3;'XJK<&/<>)C4[XQ?&QU%;7W@Z5VAB/N^I1&!TMC:+27T4X*GE' ;E
MQIX14!$8K536-QG=1K]8FK=_<;[<B9NIO..RE=PL%TWDU>,_>&2*,JR4WDN
M80>)D=MD0&ZL482?_!] 8D$!N-;/_R"2CC^(Y-]G[+G'LW*G'3CSOTW<$>VK
M"+CX;JD2ML@Q3 :L]H#&LW\AEF]\HPBP*Z'$(> N&?"/?V)PZNZ(D[V8P]+'
M0M3BI"L9XB2_'.*?,YMV%-23)?1G*N?K?TL*!Q'$I?6XZ;Y>.W9;=;[]=3/I
ML\<$;W/8A Q)/4#8RS'E0.1Z>_E>I\!XHBW.CG1/!ORWQ8C_\EP>2_*2\PE@
MGM)0T*9IXE\"]]C>P- ]*%(=?(]%6=6:#. U) ,.^V&Q16M_FZ.A?*@E+<F
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
MWD34MGY<(]O4ZZPNN3T!W,?*$@D@M,9,&6AUR1F/@R&_?*T[69G=/G+9\K?
M"W3M>X'U[-ZY'15P6&GBRR>:)P;)@!] 0GA]%M$?00KB\:<"-RW#]D2SUT\K
M,)$;O1)ER2Y?PT5FE9Y]0UR%=9T[_O>EG'\&  U_-9<;%_^R >"_WD+P;+2L
ML6HOEM"Y:]"==QDYX'NAQ?.NQ"MYP81[E]:[X5*XJB*OY@FM$26UA;2/TEQ:
M;))SZT-?8N<[(_V^*03(NC0><_!=R,8_P<7OWL/YTK!.,-KR%L%8@ONGN=FS
M7_2M*O]@ ]Z'B'1,0$5Q[^K5@S&KJH:_W"-N-M=G;MJ'KTOV.2S'I,6OTC ]
MZN0&FET,?1=L(>VL495T#%,4;]PO9TENTK$0*Y[?A4 +[!?!D9D<6.?W.WZ:
M1Y45%54Z!VM.YU%O4',O4<KEQPT4 ^H9 J6+8=.6_AU6-F\/ON3Q,WG/7HCS
M5L:>:@2-7]'[4:;S,RT SKH%,B"XF1G7+Y.!'OM>-RQV>VX>KR9WQ^)):< )
M>\_.7*:*LY/;[A"R7+TP_ KS2P-U &]@99&AG*#0XHR>;X&CV$A_0<7U#'FK
M^$2;5#/IB<%NZ5^EN>OOIGF3[0NF.E=,3=N_=_ NS5 2=B]CA.>8(UN8*RX7
MRPL<L*!E9AJ4E9E^L'ZMKP\9X!?8^Z8;LV3]WMBH670_7Z;^R;E3-!Z](XY
M[.5/XPRUNH/'R^4;TBH?NT10\.5&Z=AM Y]H5$I$2=^V-GA/@?U5]))TO*#)
ME?J[Z4$Z95;.E^;6]J21$?*ZZ57?"H3GVT 3^R4*SA'74ITKP.KC;-91/UP*
MUF#(A#R/?NTY*%_QU+3#($:V\&OXS]E]BC=^UI$D!#%TVZC?R>.-H[&127#J
M*:_,2.=V\5GE6XV\@NI2$E]T?*P3/@T.$#_DLM!HLV1(/ 0KR+7;.8U)?&N*
M$+F"D[3)#-KPV<N*MF2\[">/S<Q9W+P19#HJMB0;/U,FD"DTRT:+>NEWS&>=
M*3+=@A;,HU/FC7#DHH!0-[OD\#8-W)!I*3C5=&;W46DQ='2>;L3#_@U:(22;
M1JS:#*_XX@B+CS=F4OZI,@77&Y)N %ZQ-ZS/3/'@68GJ\8[3X5@,/>!;ONQ-
M<QFRNGO)3^]7(X=@0"-HL<17V>C^V+=6!YFD6*F:$DD ?3Q5RZJ\Y5-JUZBJ
MC>;S&*=D3)+R_3%I]XBG8]+48AF)+<;CM&[OF6W2J[T ON[+HTN8@R(UH8Z.
M@^::\4$M"HY67=P<+1+WSJ^?*; \S1EUQ\-5E$N/)PY+/-X[2P0:N,Z4.HO0
M/ONYS*OFM9HO]E])H*H_17*-@(?]B#B*X/[S$A" 'F:0$/ &\?>M(7_Y_7][
ME4CO_W1=-N^?0-OH'SC[/]]DQ%Z_2_A0Z7RZ TMT-&0,$XR>WM=,,J3C'-"2
M6),K@6$2[&'[>+;5>YSNAG8$@6DP@=1Q\N<2+YED,@!4#G6G*E![!6O5_K,Z
MNP7. /Z+_E_T_Z+_%_W_=_3G@O]<;V1':HA9,3,(6JQ#US6.Y84%(4<"ORGP
MBOC\SQ]W",23E,I FVDP?OW1OVRH >0M9IT IF!_G['XY^]/_^66'$-P&&*9
MVO<?5S?])02P^,N>OL.S,01O,XIFEB;=+_CGUIM^7Y*R%<46Y)QP$IY@SP5Y
M+,5$F/Y.M'G!YFG:,>L2$?;P<?^J"IOKC@^C#[%B@H*)Q\5/-T!Q\':BM;D*
M!VZP<(.D,0UM@YN;>RM6[\PH<MO5/-YWG;E/LD.Y9,DJ0[6W2G&?22P8B@&*
M+(CG49K^5JS+I%B2^+&7?]7&/JMQ.^C]=C?SW(.6TZ3DO"CU#?;L*ML:B?+8
M5SH*UX0_\'2IGRT_]J0_9(&U- L,*]T=F36WK]G?N/3FUP-/QW=QTA45/,,:
M]3)MS*U!H[8?^="L?OI8ND:31?REFQM=VR/7:H*>9O6=E(Y=>[2B)[$O&LR"
M)8@JQ&I[L\:(S:^N/?6*@=@T#7;NDQH'G+6'[,8:]ZE_9C[VCJSH*T]B%[S
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
M2'WT@*(5C/0H(EY#!ORRAL/@J!^@$]9G!T03W&U/2A["9, 2!:\TM;7_KSU
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
MF!2^-]28Z4CH1\OG8'.M#W(#<MU TU.@]LC"L-2,&=?SO>U2JT?7S5<O? &
MKEE2+_KK=Y(N85&!%/TN@*4:[0QOW*U<9\I'E2\^N-3\P8D'P'UET/24M[IS
M6BDVM*TYJJJILGG&K^^[9[)4'B)5\WA\/MN\)O1%]*HAEO[MUVZNIU2&'+2_
M?38@*1@X(:2*##C= 1T(EEV T9# *6/ZZ-#!O8LQ%V?M?W <F"6]#^LUZWH;
M1?(G Q3V8--&2]55BZ#@XXM6(Z_K^SOZWN5[(<^KTQM3W*C60]Y&SN.-$]31
M[QC/5A[Y@!6/SV]=9[HI5J+4\MU+2_#SPOFCH4.5DN#OE1NKGQ^_-8I(K?<I
MV%.QQ/%C=,QPV*6B4L<"O'14\\U1:?GW,%$).6K\P*0<;WM"A[]JH1?CD0M.
M\/JZRO6D>;RAP1EKGU<-:9E;<6>*)O)_N497,;8X:I%80%O@(J^*)P\M]%9N
M.SUL\01*]3FB!4=OC\FMCS?SU-4E[2V9K";^SC2\O?>HO4)"7B!A=*)=7K]W
M;<0O7#^UN3XW<QHX="4O<ND;5)CQJH*< Y/[</Z)[2WQL)H9BE<6"G/Z<XBU
M%1;-RU,WVLSN\'V]_H,\L#9)(Z#Y+JMQ[@EZT*IVQV5L[XFGBC!.!%WR<2D5
M_0![+D4BW$!_?>#\VEH;;7K@>>ER/ B'?H9A[!B\A)I\W)7,%F<RI]X8]B)N
MS.+1;DO7 1_OV%86YIG8F?'.3A+/6+:!5@3^7+C_ETM(P1/CTW25V<P>6H?4
MYL$KH5[%NLOIIDW5$Z\:N%X8B@CUY\2AA1O5+F 3@C)_/%5$ZA37P$3,]-<W
M@5PZ</MJN\?5LFR2+=PQU]@?BG[)6D4=EE1#K\I>O5AJZ>;K2NPC1&R37(2=
MSTQWVBTT79!#&P>4!PGG<)] 4N?@0VC37^;AJ!1"AFFX06Y>:5J-XX 5EA7$
MO1X>SF(X&U!\AY;10ME-E@S84[%''.Z@NC?S2THK_4%]R*2]0^)EHSZ*U#=J
ME^$2EIA5Z+7Y]1M_.0XKAFU7)HJ)'2W&<I3OW50U7T#3[/\$/C'*(CS"Y7DN
M*-\?'AAL385__%WWL8LAB\/6G/O%HN;@HH4<7:UAX\N^[?SJFI3HN\+_%W/?
M'==DMBT:1$%11*0+&!54D"9=:D0'$) JO44$I41Z1R J DJ+@/02D5Y##[U7
M >D@O=?00@V0\J(SSCAGYIQW[SWWW7?_^/C]OI#LO=?:>]6]BF8NIT->!7C>
M<9(R?-9Y82B4UH,L<+K[K'X%6;ZYP#BCS ()$R!TBL*Q'6$:7%J!3.KR1*#C
M9G6")$VV\/O,"/]8?__=Y90 \]K*Z$6I//[MZ.',*]["N_MP)[X<GCR=C:Z+
M;: +5'NY_,7IC"TI?3K6>I 2I*NKQYY@PT!0*H<L$F*UNUE8N.:L6=RF8G(?
MWX;7/-J&_?(_VJB&#/SW=K\6WQ\Q;C^'N'T\L_QO]-II'JZ=OYX,':[_WAGF
MX'N<"^;W4@#_Q8>4_@_C4"O0F:C(/(7A7M3NY&;]6WV!FG\V@'0KJ+ZWL<$
M_YW%_N'!$9;Z*?KH(X4Q$P'PGC(*YX@OR=3S_NGE_U49HL]_E"&B]-J:^V50
M^(SM!A9DZ_B"5W1<@837CG]X&71Y;QSSP[*PB@K /GTZ7<EE$/@U+?0FE.>7
MLV5+3"O:B!Y_ZR_W6F="7J6U<T?6,)?Z*3SJ"(TDC30NDQ[D(<K^! ;-,$Y>
MXM#V[!S70N21AZ$DW+27/YJ%A\0(BV-M>\VTN2!N%$L+H7143"OA^/9L!CBC
M4YPHQ= P^YH\GN0@0I>JNGN*%!6+>%$@[BJPCF=<IG]B0N7/\TDO-$PMGT6\
M5)04%7\.1Y[*A^62 G3>D&8NWKEO,[5OXW!>WM884KZU].XJFIWAHNRY]XS7
M;U<\D!&K$YN&ZP]G+C[=3OYLAM'Y*/3\W0S&Y'QO%/\OFOD*]'?3<0EMY:SH
M@!7O5@D'DW#01NR:16HG2\9<3:LH=BL<?RCD%6)[.',3MPTI^!3R>$&>=5^L
M=ND-_* ]K=T&#3 6D<'W7*L4;T'?/,J 3H(^Q[Z/5P\J#2M\G=\FLWPO%EQ
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
MDA44]H*B":8Q4 *#JP9(0%1G8N<O=F\ UO<R)75;CUF3R4_H712$W6L41K!
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
MXYA17B"9@LA9K7<GJ;=;$9_%/88>H3RBWC(VIS18KQ\)#R0#HPYOKJCT85E
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
MM7YAVFZCTH>@5"=:[2_VX97@=T$F'"GAV'- C-)'HCKGG4X O+0U9CC66:E
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
M"N8U3?9::X8>Y=2E#=7@S:K%.X$*(0R.YF]);_-^6-'$ATB\ :!D=@H'P$^
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
M$A=]1^#L4\C";Z$<?%ME0G=*B02]"2^3"MWSJ5E'7M_=P][=1^&U\1E?A6S
M%P3NVF2X^:K&2DAT6RS;"(Y)PU?H2O5/["HP"83RPQN7G+N>?K+\>SO+_KW2
M#[0\!OP>N/9I1WUM:TR<4>/EY_W#\KL?AGQ&],\,.-VZ^''?,4N])R"BTWW>
M5(R0>*L<K/7-#Q[3E#]5'T"OYO=,(=]>YH-P61('ZNL?\9B+,8D%:+@/D\TC
MW7-R1_CY<I7EG'#3F*[&-]5(6$WWN"\QPS]S%IY7[SX<'\SZ:>Q'@;1KJZF^
MWV%.0<%ZAL77-P'^W-<7+?4&O])&&0&QC37/3?NYN'-$C]X@/3.F#*;XK)85
M4GIR+Z](8IO"1OM6Y]Y7E.V1I_TDU(*: ^GJ?O56]1+RKO(R[%8T?/'>*6X8
M9E\MTK"[-$4]NVQ+$IHEI=9D_*R\M:5O_F>_DCXL?QYF!5[H;&Q?AS[1+&Q1
M31?59LE?2/W^=M3@@9C7HE@E*5_UY8&2YN71O5;%MO5%<X7X/!]P:ZNVYV-T
MN\\P(JZ3>H//*K4#7\'C;)IFI?F,.G2ACL8TDJ[Z;9^8MZR5>VM.(TG?--5%
M;'<K#][2??B0=O3FMBN:%S4,)J:Z[,?1URXO6)1LL76\FJ]D>".0F/,;=V(N
MOTKA.RY-"$NUQT'U8T/UJ#X3-1;BR]:IKZ;0 .K9K<]?TGJKM#MUIQW,#6X)
MO9M(W]4)I;C@95YH7J=VD!A>^48^N112::\E'O->,R</H\$<[,0TX,6FS\^0
M,"'W685.Z!;G_F$D3+W-ZZ#Q_27$P+/191R)\7S.B=$\1:11-86/0;Z32Z]2
M/M$_*6@P-)#?*X7^O5@4$*,N6  T2D86,3[8U_EE>^W'.4W- \&-0:=["Z]M
MO)%+UP]1!QJ:-9\ZF@2FWIPDE$S%KQ2:\O+'#L=$82HFR"L+B7UGWMF]X^'A
M;,9!(O] PQ3Y7W]5U>^<NA"]J!:7D>[-NLB[[4D?_)'#S_?1PYOGK:QT//*^
MI-@QY,D_,8+4E*%7U_\F76R)VO\ ,,IL,6);E6_&=>MTN;NCZG-=R"JO41>F
M'&G+-:G/]RM>87!3F<>@/6/,[JLE"NKSFW5MDWB/I**A74K)A3NS3TEM@P%
M\)N"HJ BNYV*+7T#]-C[8Q FC.(R% R7]I_7[FH3X /.HK&9]3,0DM^MOJ,[
M_">A9NH#Y>I11#F5=]8UN3ZI]P,\/Z$K.";-L;V+YY>!3_->N6MZY84PSX*
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
M0^<QB 4Q9#U1NFT+.VL&+7)YV,54V3;#/^AB336_?B^WA4$@&Q0'/:ILDT=
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
M3E7T0I3@8Y_LWX/_U:N>_[5;O.<;>OE2*7JJ_1_3V_[V^)PD'0(_T=SJM.6
M<G=&[\Z=R3*+L75%]U*./0>-+%VFHDI#MZ(/(9HW 3?R!:0N8!OXWD45OB6.
MCP("\JQZI.HC<_6C[S])>,'U-6#%8[>?_]XGFK"0T_)X\4V:3ZXYFJ1%#)&
MIU82^^Z3?O&J/_PPNY9BW1<DRL"F;F#-Q[9H'Y[2L)V2Z!6BV7GR*S8-1^'J
MD$)SRNEQI&SYT ?G8]"Y6IWO;(OX\2VY]<3MI(N!ZMV[,V_-XTX_4<9> 9W;
M0"J39=&=$/(31 6AB"*&<:8N$'>=(=.0)W/+[FYV*X=4EX5CD-!2P! 872%
M+N"@.0PFVU._>%%'<BNW2W"-+7<71:-ZP)RV4SD.5>2+]9:OXAW/JP\H<UYP
M0O,N'&BK_'$[";9:Q0@GPN1;DGY?+J=B;LR?PC"G2U%19;_5>,IZ<]FCK/K[
MNQ]<GA& SV9)I;UA"H9J@9"A&")T 7/B#_!P"#''B<I>P5X? ZE#5QZ#"'WR
ML_K+AYKH'0AAG/^@XL^7K4-/7Y08JEL5$XVZAA#'0T(UKRXB(21TU!Y/BYK&
M\G-)OE#KN7<.DI5?R$^]!7L-B)I63*'0[S6&##W*,.(#A"6VH@<:E8S4;4E!
M^I7/N264K/,]&M%H[OVY+2#9?\G)X:E9X!,/<HMI*=+A*!V"\T#> P3Q(\ ]
M2!4&9[ZH%[ /.8FK:F3]P#JU@,.29<+F@N<Q"#V7B_KK\$G<FX)X#7%\?3S2
MCIA',*DD5LWUFL+<IVI>NU^66,YY:E;=O2-R>#<SI3I2N+&C_5233,Q296%9
M.?+^>-LEI"KPL02I!$0(I7#%%:\OS7Q;3UY/%C;D0URZQG>GUKL[9?=BNZCX
MVNP5VEC@#G:$#<'>4>F2(TDJF^IF]OWR"UJV,-/G;#^OS6F;]$/+RO.T?\V_
MS$MY"E13;U6BI[K1PW_-Z_\'0_7]M[L]_DO7T<JUZ)W8SM63=(]A5[$+Z=J,
MV$N0GF>OTC.?9B&;)JU:C\1 _C[FJA$<-ZN_A/!8W%:<GX2W1I'%GN3^@"EV
M?_MH)-ZMG;-/87] Y5;[S"+;<VO(3N>N/1'>Y=L2^WU[D1]:\TJ$_$N%M_U
M[(69*K2WN+8/4>H[*C:DT7(N]7Z_@QPGD]'5?FU/%D^$.&W\!E)M2DI='V<\
MMIVA4A *$7$+Y+B.((7H:MP2X%MS5U?+G[E_N7Y<$ON2CH;PPOAS2/@R*X[N
MQ4_F  ?%8I/VA^FL4>DHBPK+;;OH^#R3>T'S),QL<Q<1BDN0,9O]L#Z[;)G9
M)\4?ZG48@E;=@X;^R<_N^^MUR/S]GA]DY9=F;](J8VD/I1 [6[<(Q8IQ):SG
MUJJ"/YE=^K6-S&L^>#6;<@QJ'1 +BCV 1&D*HL\AP%IC^3S9LS,FT(.1+TL?
M%?]PR:H&*@EQHL0O3P%H;'5'GHO=M7MJYN+KONDK&/YR&PUN:+B 9"9=/;8(
M/-QZK:$B-OOJ=XK<[E5C-V7R+<?A4R$!OOL#%(E?5F164\X,D[Q;-@^<,V$R
M67MF*IUO$09!ER]'!;N? $NDQ$>>;+.R9Q:[=^-V=&]G" ?EI,=B^#*T[R9I
MN[S]H',F4YBM]Q9_+^V52]^'%_)R5IV%WRR%+7$JR'!88")GGWT]]0K'[7K>
MNM?G[:?G!#%W]91A#0WFE@NXL1<&885;AJ_ ]DD)(>%;T^Q)]Z<JHSI-VFW7
M;$D<\V)Y_$7C=S*,;2V\WUSRG9M:"2S:>E@P-X^$U+7:@YUK6^.U%XC8$M8B
M:+^I'AFRI!],S+LCEWI?7TPX=[LTGF$M:; E<S\)2&"(K9!LD?K0T&HFOJ36
M&7#V,ODC'Z%<SF=;IR!HI O-E,L @+7'P$=^+2#]$PME_6M[]\V*AUC3'A98
MXE_.IZ[GV?7E?[]O_X,YM?[+VNN"P/K>DD;1T=(G=.&I3[]H^%><;/"E)E,&
M4I!.FB%Q</YN0?883#:$NL9C1TE V79[?C2Z>F*Z%$SH<RK#V!,''OR3'[4#
MOJ^C6UB)DXQ[=61H^KEYW=@._0Q1<<UV:KI1+YK[(M'@HQ?<K^"K#_Q<+Y(<
M2)L,NWCG"EA83.FLQH5I+%-6&Y_;9(XP<?ZY0W^BWE;:$,(>%'43910V]9DB
M47 ,"C?5)OO6Y\XHP=Q>']F?T/X'.[^?V?_6<*L0+].N@VD_UA1ZC&%^F'A9
M/L+EZHY//\35FHM_A\Y%=;PW)@CN6?G#8"=52\7J@!<T%42$&&8: ::XM<*G
MNY+T4GT-V@[@=YQ]R&<-8Q0M.Q=<^*^[AKI5RM.#25(AL]'T9V[0D?H\W$:I
M@H [\B)V04;'U 4U=.;TC']J=X:Z/2'5;>WC*D+ GY:L&7_X:33GT_" XI)3
MA=TP0G7"2VCQWFCJI;\/OOA$52 :DM+;<O),)A1BI,3D\IN0[WE2(SR]59E6
M2O\AD9P0DB,N?L1+!%THV#C@HTM6"4A=H,VB>73]U@WLFU\I6U;/%CR&47TX
MP<G<8L972#<\6*K0Y4=]JI_O4\-R>AW:&S=6BY:[B+;V$5QH;D1J("'QDGY4
MZ^'W\8"1\9+_Q=Y[AT4==&FBC:(H07(.K9(D(SDWBF2)2HY*SI)SMZ+D)""@
M1)&<)30YIR:(Y!R:*"*IF] T=&#YYIOP[<SLW-V=F7MWY[E_G >:IY]?G:I3
MU'G?^E6]AWZ(58IF%AV\R?51",M/,L8^<DU:G\6"$0M$"JG.FUU@[L^+;6"I
MMACC.=<",Q[JD$.XOY0E<97B3_KJ;X\$%6B6S<L3T<]#5-GV/6EW]6![8[.M
M N1:*:H3!_S;K1EX8YL[YZ)9;94KB=-S)"X(S(#A,3?6G&_H ;P]M>(;/]CU
M^]"894XO E:@2Q0+GK:Z(0Y,Q-^=\F$5[;-"Q(^Y@1OC?2;D,J=5]NJ(AX.^
MRP<;C< 1^QX,D GCQ"L H.@Z1\Z<7@$.M!"JYNB#M6Q)I7&Y9QU,K8V=9K 6
M#]&=)\Q58Q_?S[S#\FW#T?[D?==)5?PU$'9@A;5X,UL\*HN1Q8Y--4%$ LR)
MB^H8QF<P5>FR9^TM"5> 2!MT9RZZE3(.,O4)C@WZ=$UR1.2L8%B+@"L @AB"
MEW]^_9TW(1JNUQ!X/@HO>?U$7P@IQ!H>Q78+^3RH\*BO"<I =_>UL/U.\M[;
M0%=/\]JB3;H9YLX7\/(<@P\L>5E/M7Q0S%> K6)/Q E*'DGT/H3U5?[8IFU[
MQDJ!@"<J\/;!I.@]TLBO4GN++<97 /ML^T7C;0_:?%Z9&K;G66L)"CAEX/[Z
M1H0N9)W_>C#8(4@##E!=8W3E3HPJTMR]]&&-%=R+@ @8U/&ZB'8V,PNAWXJ_
M F"I-_YL;NOK9]4DN:UT>I=?L'J'L$X7) W.;@*2%8^7$K%!A35HU1(3^-+S
MQ6$U]B1;ONWO@X0LH7\6$%9OS\C)]O0M5IPU_:F?#;(SU]Z]OY-R8 '#0H%*
M.+[G1.36Y4I+1KW#65,+H^TYB<% :3-F4Z$T<9KTKV4\->^:\9V3N<\3CT!S
MET8K.6J7=IV7GRY?IK+^Y8?NK2=_*S=RI@@9O 86<YWX'[PX"0X:/>4'X?_[
MVI/_JLI1!'H$H=/="<122WYH\RX@<WB6;)"EM#-$HLH;1J4<L& LO!R\F7R'
M/>;0\2OY>W?06ASDAOWTZ*0S7B+LQ@*&)BB[)HK\.;0F!-)59_4"2X++ZF##
MC^*9TY41Y)%Y$U^;K,^-;BV:918Q=J<9<68R2C%V#771[OI<SW3\.+R6J.=H
M$;RZA*?.)<?EZT-U!)>,:CXMK3YMR_ZFC!E)UIXC_9JU*7XR<!U:0@<T>9&S
MBZ]W*7K*\"U+)M^H]JVHDRQJVA90X^H1>F[E5)<H)V!D32<<^PHAL;,NN-0.
M[*':I?R=I%H\BL$$&T_HBZM^4E![J9=.JBT]5"6$,L EA-!C[N]V/*Q%^!57
M.^NY)/>*C[BD4PP/3A"1U U'R)%G[4@?3+:OQ@ N(*BO5X"PH! 97$5;:#&Z
MM7]Q+D;L0&/D>:)&@@#5G\5'S]7Y:R,>:@;>.Y@"20\ -DOEQV!7@ 7@^LZ!
MP+H\^1-D>_99GRG7T3ZF7'8@S%'S83F;@LJ@,F8XR#/!9>'W5_(/]4 TNTZ7
M&[N^9GF[TH#I,K&7:_69&AW73I[PTL 5((48H],-)AF_7G.-M!#PB/J14.:G
M4Z\I3(T7J^8W%+W?_5'G2 [D2%;G:BCY2IZ(%X9T\X$)L99(SI\MKN(0HC_T
M^HQ5D'6&UH0[]MY#'KS&!<_&,,3YG:8'UZD#-,^]3KX/*[T"N :8J31/AZA0
MCUAXFV>9KZ@46$<ARI*2[PX](PQ[(K71$?WMK9P2JNB:\P$Q%@'^SR;:7I6Z
M9+A5)?F<OU&(E'LL*\O5PS!"\S8NB, "UJWS(0C4!0E?)'I[2I*Y-PI4CEYO
MS-1/8EM/+7"ZAWJFS"T8]&B3=FE"D8T HXF_GOJD$.<E'$@?6=A0>J_FE:OK
MP1DK+[KWX3/CCI4*)M$(>VF>G*!-VLU5DNMPR&-O(G)JR,[V O+[U9DCZ8)F
M"QG>)BU\H.CK"Z9^;_5&3Y&V?D5B3G7JP)7?[5M=#33:.FR5\"Z+7@EQ29D4
M,0! ,$Y<]Y\IT_Y/THD-Y=2]K@*+J'Z\25YVIM-AA1>#[NV5?TVS4=73@W::
MZHF<DY@(CVJ",FE%@748N:ZJ<W(,8!TKBA!:;PR#YE<$!*\?A?NPFB?#=*?$
MS%Q<PK2]0OH4%Z3E,1F'_T(IYV]DFO^F!)PA5U'/B=64V^9%QHVIH<1UAJZQ
MZ=F5?T,T\02VH\01*LEC]</0*MR>K !VDZS.+(4F*JB4"/OHYNM_K2!B+59]
M/91YP/39HF%G@?%>ACE\S]67S[8I3.<\J?L%.F;ZVUMI""&6'V'5:[RC<R=
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
M49'B2/GH/9?PI#(T[B"8,=C1RKOHVT=AZSO21'F%%5IA_WK3\:@:M^+!).E
M;L_4"!K!K: U'[:=&"?);]1.SB/3AK+.<^EQ-:;&6H3Q(UH!F7I$500C0'>%
M^DJ;\I[6C>G-IA1\X!C@I<*"I>I<1I7E?H[[X-RWFGRD?,MMS:;B^B:E:';A
MUO#SY:]A\GN&C)O-X9SAL\99=A;WGK!]G?3T7"%3U[17_X?2*?^[5R4.-)43
M\,]RI-EF#VY3!5QNCB=LU#M^);6JV8OMFA:8#ZJ7$@M-M[@"Y.Y984Y=G&,
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
M+;8+ HEW<VXB<L(+'5%7 -O)^O*HIRKWWA1&V7.<<31S7*98A!M-\]M,5SA
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
MU[U*U]*8HC?9)OIU+WFW#OHM[.5 C?50\Q-KN]#1:0!Q# #G6TV,*P.Y>MS
M#P9IOPO>E TUTTTQRU%SXS\U?I7FQ:YK^;1VA&%>\CX'E==>?TCF%8 P#U>'
M]496]UERHCTW<9965!;SNYV+E^[E/N6H=U3J+/J]['&!62/,/-(>G<DJ /0<
MGMBI"&MT/5B.=G7H\HU@(*6.M^UB6NR]3T<H%^:[@EP)4F%BG@<IYT")FP[;
MG)]/ ;C=J2-J_9J&UB@1F"?3<%[D?6%"!WA&C=5M?']N+?R '5&W$9&Y 8FV
MH@>M"R',G+Q46B2Q'"VIAZPS(47'#M$V%Z'>,.<+LTW@0252% 7!=> ?C#A4
M[>5PC;L)5NV[8KG]2Y?57_T:<FD@^^[.>^.'C>LCPK==%&9B!!A)9; '?D"!
M%/==?&Q15@,)'Y#-I3()>+CQ\X])/6;4DJ%2LLVUYL%4?OKCCS_NK%"P>\C-
M?<)/6#7L#"0N&J&2,]>N %U:*CM/IUZU9SX/"Q4QB-C4#8@-G!-Z$QC#>6?K
M%OLVHS3'(P#.KUH,5P1U.2!"N:&K2W?3TYG\"NW6!4Q_S1Y/&L8X<FI*FW"H
MZA/7?B<4EB:\P7><N:$:W>F:B^;&Y^4%)/;GR+4B52)+EB_8,4H&Z28U:<K,
M\6TY8(ZXVM+[19.*KA)/8+]!T1T23IWUJEAJ&"R70JP)/'*O>DW>J:A>H&E)
M.\T;)O9LS<$UJHN%-([ME."$'$LYLG&>@.<.B-V(LWR,K(YJ,V'-KLJ9':IR
MKEN-(I%;C[EKT9!2[\#Z1I[O]+"3\PJP%@DZ%L5>3]1J><DK@%)3]6P,X+AZ
M$81*1GCLMR(./>@">OX\808EV16;OIV3G*),8M%08Y7F5R,FXOX*RFQ)Q-+1
M;^K$G3%_ 0-#N"?,--\EH \%/'S5=8&MS>L!GUAN8L5[K_\-K.5<2@.64%63
M;<PL?0N.00:5[>TUKRG,S6N2MG9:^9X6) SRG>VMS?58W%SS[[4@Z08SU4:,
M:$T>S#Y\K5@4*"PWE#NS4MN7\^NM@C7N&HI[C%&"YQ2XYK"RE>C; K=WGM71
M&\E PZ?$FVSN*X=_\VQF[?!2L+\"&"[ :%&%#@MHB.:4KR9.8TJK#CKMT??Z
M^)B!DJOY;JMU4M?(P?+\D-2RYVPG/\CQ:(E^D_O@ 49?$R&TIEV[2E\+[<Q]
M+A-?T?%LSEN185F+LTM_0@F8SD48\MT<VY^J2/0'1XL^0";K+![A[^X(16)M
M*D.,TF&KS)WM= D9$?F>I6:,#751G E;1(J[S!\GA$'L7L6,&! J$GWAB[R)
MOSM4A35 A.+SULL/-)]!VQN;OK<$"+IN2S[F**G-(R5N_)P9(4)P]I6\JJ2Z
M7V>A>)/HP 7S(N"&1\05@%S.S/_.^';RN2$RHKQ,'36@/G8HL+A[/MC$PZ,'
ME/JI1F(@QXK1 4]8U3@<B+]:ZXQ1$)QITRHNW&X+JLHM_R-4JNSI) &'FXWR
M\!?PN9O37GPJ)V][=!/E +,4F\2SH(4LD-J-C]^K3;@6=;8F>3:I,M&[?4U*
MNV]->JQ&NY-;>P4X>+)NM3C2)1,9V\9>O,?DEVE7.E2H3M=(JO?<3NW;I^^4
M(_>7&FQWI ?E?+BW$]%\LU^05GA:PHR&=QO!9$+K=A7"O55.=P[3Y\ZIS FU
MG]F**3W2^$)#G17151W7^3IW(1$5BYY 5!O,XBE#_E*CE[K7[W*ZP8C)'\L1
ME)#]RX*?0E9S>TEET"OY66OTLI\-PXVW(-]'?RE=N_8-WA#1C.'"2B/&(N4$
M$4/(FWT4PA9/?4_2!AA2#7:(>^_M'X0OWUF/)@( ,T[A"S#4RIP"@S+24"B>
MJ<QJS 970QYAUB?I)-HS<1'3H0VO*T^5/OX)6*,B!]P\ZXE!Q^+OIF"<7:X
M4/(/T.M@H)=[/3?)R:)L93Y11(7CZK\0K-!O4_'QD-4_>I!R4[HZVI=\*64#
MWFVUQ+XI7I59L8>7-#EK]U <QXJ7.--+^J5-02_,;,AJ7HMDWBB[3_C^N_7C
MK^1+07PG2R@*!-&!#1&L4K4_E\4CY%D.=>N$.ZEA2UHC:1K<.?#5HW([FKYG
MW2&3Y&E-@ 01 MS=?WZ@\#]4IO9?: U:8G0:IO..J_+4IZ0)(I7^D-L8/BKV
M@SZ%J[SN#-]X- &#0&@$8)^X^9M.+]YMM)WT 6_Z,I=7@EGI^X$+09+1#RC^
MH.8DGOZRQXU'U8NX6X3G$X#MK&7>99PM\O+V&R;RH_!)<^_[IKNF?1^92%26
MZ90%B\WN@EXJ.3BQAF?1?0][&"$>3R MJ]B%NZ6E3*LJZM;Z_5O,(XI_OF&_
MP*YNY%+6LL4B/#@H#:STQ(LA.JK]JW_CV1&GLU:+EZZ2=!%S^JOWF\)LF*56
MO]:[,]$\"&MD)/1.6M#3DRHM%_T6'KC^JYA<O&I4W+[#!4\P&$#>DY$6ZUOE
M?+G27['X$^K),@6SCOO^M&:@YAN/QY<H@^V$N]Q? 01S$\J4,6';3ZM- V(2
M"LZG#C6&0I)KMAS6':(AM68])*'7<+R'%74%:"#Y5LNJJ(QZ_^;5TKFDQT7(
MR@),UM_;LG:"(ZYBL&+8JR NZ;1X0D_[D].^SVM/J*<A*FVEG;9JI0J>6=MT
MS5MKNOZM,PTGX:MYGH5[4^:+/\:U$U-]I,3WV.Z@\SRJ7.NF-1;AIT:_DZ\
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
M..RD=_4^'>47AYJ)(]NT+8!(%U_?UX\B?N]3$@BDJJC7/?:AFY"X7'*H#EV
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
M2:V+8_.W6>T80&?[%O5B7F!OI.LKGHS:5*AZB$)(!U;E"YMW[C>Q@NU9_(%
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
M??AY?_L(P [8 =$48Z)"CT>=2,#'/\F%<CTDK]O.F;R[)O2L-<-0KJ?RJJ_
M(DL@A@6QF'D$8.N\P5#]KN-&V$KX.[)74 H1'5=$\Y.H(0E14DHWJXO=C'0H
MX"(@/^8Y^!3\)4W?G;S5KW'=ZZ;9APL#GB$B<9LDUV0-J3$]/>M^_RX+MM,7
MC)!OFE-IESJS-,JPI7 PNF%BIZ]C)7:<^%!UP: U2?P: TBX)7Y(O\CL W-A
MGA<"8=5V9)]>8QU(.!52"L;E1/2]OZ[P$?36V/I ;]T_JM"$QK58VF0-)EN3
M#&22W6X?.]-%%M\T(5>T&^CA+<F?UFN@C0BZQ!]@_;'=[CER&,RHBX5#K7Y[
M;RDAI]7$GWV\)6D E%NJ?ZZWMQ3.<GR/QW',$: __<D(/,;M5"I6NU<XI?TP
MXC"V$>BE"I3'THWI!<$+VP=SW]U?<Z'^_%];__V/"MW_N'BM].,_V@=&_F>I
M[O?_WO$!YO+0$V8NT((IA<0S*(K[@#CO5 !(D%8@(G8;;AO0PN\[YSBJN$07
MS1 )2KX3\?MMUZE3HM8_U7<TOV!FE;O;GM<O@7E@*P1,[";<-FPIS,>Z?G)K
M@U2W*3P.F95J3@.-H'X]O77#;?/$1TYD-^)BI]PZ\$RXR'HVB&LC<(L'8L?7
M3$6*E]:>EQ&QQ0F^SSG)!O;/><8K(^!Y[G;_2R@&,AB(9Z<)[8+.Q,/=B+7F
MC\:6ON\Y/M/6AIBVLZ8KI6]V&V.6D^(8K3]:)0@O?=]3\@B(N.:M%)3P-(H\
MPQ20C?!6@T <5>_E/6I.F3!&&[MY_BJ87C-(N2WAX2M7D_+I>KOOS*DOH#-[
M6$ X]B%,I ]\6NT( ,29$L\_VW8\9=SQCXU"<<9?8ZC33P<=XT;70B4A,< I
M#QT E]GQU\+RPV2-R?DI]8L<(F Q6/&3/).)IBBBFG#(M>X=(?'=;O9J.94G
M%W(4(U ?DK;B%VY@P*=@>HAX!">T%ED'#_GDF8T+3(U;\'B6;=IJQ?$[_W+R
M!T-)[VU'@>"<J*X1OW ^FC\1RP47F(1K$X^M0P!\<5?D\!5QR9P<7EIGBU_P
M: O.$43%E[>G&<HK)*J>E)%13[_3"*V!JBY:]P;1 HL]DXL7<)[3&)Y=,X0Q
M>;FT3J;(_Y/']#X_]KKN\%=]DL=*VCWDI2=/JVPHM\2QG\+'V@(*3M.*B, +
MJ^4]VPQ=S.2+/0BPB2T^9>&:VF-)OCMWR3H65^:FJ-OW'BBFDKB7N'@</.V4
M8_2$^RIH70'RBOZ]PMY%=8G:C@(DD_L:M;[48$]W;:F#NR8?94S/)6T#13L!
MM,8^O,BGQ#L3V4N$F510(X)PX\//NX7NS&_O1H";LU$87/'LB[D3W?V:3Y\H
M)Q4V0M%X\68\T(DA.AZN[M%Y>:)6(G<HN-%,W[2MY5P$D6Y?XL-;W^!]HN=,
MG*CH=];O0-9P.1NX*UD,&:\ 55*;4?UIZ^2Y;W"_)?BE"1G+P2=M;,O]^NG+
MGM.!=;A64*0>;P,YN"=?;VC@2S;X_),%VQ+R_)MT8[%&U0\7Q\Y'O[]3/Y?&
MP9V95+#]/PIZ=%RH0S-(N#)=&7YO*N#0BJZ/;A['W9T,&,2)Y"'R_2AM:4]>
MCYY5[Z8%$\OCH>&L##NR<J*Z5C&M>%&,?4]ZZK++N;9\Y&PI1-'JHM89 _"[
MR@/IY %1ZR+FC/BIF7!9Y@CX D.>D <D*2*LQDM:&IMVBA-'TM*C\9)RR <U
MM^I U $:D(@ PIS,^>#J,5?U)']XHNSNS Y?[Q%'ELU?2B&.&C[CY4Y7>S'
M(>72* S ^23G+N2X+)J?I=GWQ Z(:TVBM3B;_<68E501".1A14QH8J9H[>=?
MSZJJ1?CE?BU>5>^'WSZL0+N%DI='Z5T%_,T-%,?4E*:ML^M_G2JK+B=J+?R=
M$N;-<DXS%J6,5LG@V*5*J5N.68D4?:I+G@4EYS7:IQ*N,!ZNT.-.$$&<6UL0
MPF1/>=<Z\5_O\WVQ?^[2,V'CXD"ES^=*>)*LIFO)[H_ K\N4 0S@.%-LO<7I
MZCC:6."-"[HY"1^6L(WSD\H^Z6SLZ.P*U#[1[->C W@E^X:I[=4S@"M_HX,@
MY'&Q>EGIB8!YA#::LR>A!3\=1LY]T4*]86X8<F2BF/81J3F*O;3'U'$P7_CH
M_A& >R!RN7[FXQ0TP ,NZUN1JF&?^%FQ[]WU.";XNOQPB/E7DQCGT9_30-(U
M,I(HT'\(^G)S)19^-9 PXFZ10N\.EZE'3T)91O,_@1L4>W\O916G?409LHEH
MA^]'?""N)&+<"WD=PJ<*A"?5DC5.D,N(4&WPM*L =_7M2L^6&2MJQ659?_GX
M%WD2%_3Z59.^L_I7P.$4[\]$95X[A@[M9:?J&/I:B$Q>I9>F\*]7H2,APO+#
M+"7W9'?>:U9E2MYMWRYJE7)9![:P-&,9<F_([F]\T&!0;[(<DVZ,HIO@=%3M
M#M\U:;)D9:L_TBDS5-P69*_Z.OJIFA9J0LLA"]A1EC./,7M@H$TS+I".Y_:T
MR^JLASS/SIA'Y2D()*I61]LF_@.SLGCT>BX]*H>,I0900#T@OG#LA;:!JEF8
M_BT*2TM[9==EJ4<+3LTE515)^@U"%U^67.W^.!]Y[]:U/>5$JV.V?@3P\KD
M0Q+/-^F)MP//[<:5C#>M9X9OS^O55B@$30\\4]LV>LE[VL+_JZ!4F-:BKKL#
MA?7-[J%I[ZN3,+#U9WVIMCL+B2TMI_.KMD\_44:)1$96S9YX=WY@!9\$;$#C
MA4">8N ^S>GMU:!I)ML_#>2MA-H5?8V<&OT*QP?2*8ITE 3L@6U00WO9UON^
MT,+N9.L^W,#KW5EX\"?]C[0&E>_@.=QHIOWPY6M@/7ZK&RFW3E6UB.D[O[[\
M^N;?_RS>.QC%$ZTJ": 4<%,@::1ON;:$!NYNDZEV+QX.6C]Y(]8BXY&@=K:D
M[-N(=\K:EFDOY?\,'6![P6QH:\02$F?X*,H$[T[<8EUMLXJ7Q5T&0CXGS#TR
MENR"EPD3N3]W1V$B7[X\(?Z>;@4K Y^C@?K_(KL' PIC]:0+'Z 2GT"ATI.*
MX7,*OO8CBKE]37>P"O#X1%*@C(I?L?Z_,R+W[R)G;#)#_@AP-CO>=_%0=+5"
M">QT#0L]O1 JDI5D!U2?MWPN>?G-]N09Z7<3#&<RIA=7OE&^6,AJMUK@$[>[
M3*YL:]@ABH-_;&U(?SX8?J%]D<W\7#"T^U?:>;JN?'\!QV$IVJQZCG;/_ ),
MOV_ZE8.L34,G*KFI$OIF5;:0MT&^C2]=4#"JX*SD]U,%DR!(LLE$]S[^ H%\
M"DM^-?2;D-.[8GVW W81<6GK<OTV$_*2$"?S),A X<*O4\U$99Q\KP_%OQ?#
M"><CTV!(Q[&:%\V2P?XUBLGQD8O&WS(.KO.^*.-[XM!I?' RTXEM$3@+-*.!
M2V6CFA&SJ3T8[H6A-9L7:#>Q_GS18*OD2QX%)'?GFT-Q72*N?B<?2^PD_ 41
M\#WS[CV(IN ^Q$5L.0>8$W+3,):D-AR=?5TZ]$D'SY5;?3GN^0(+ +&?[JP
MT3TD26P)(4 K'FA3CM3C-T1J1@6^5\N;ZS#LO>I\?O#"@-R!8.0]3Z/,MT^K
MKF/0VJV8(\!Y X$X'1'R,KUK@;]]!FZ^-&RKK-9Q\N_O%^%8WBNU_M*3?> A
MH_=C;$_\;"?E/DPCOW"=6.]DF]%3^0FQ CV+!5/Z1NO+4/FB!6'%L[9W&YQM
M2,,]$K@?/CDWND[3^&OI5R":"*Y.=J_<F9X1V8&VG*@:9!/)I>M5$W6%=,&A
MK36#S>'=W;$FHWO+[$.;FJ<2 *1.6>:D^/4&&HARXP^3K_E[IPQ,D;0XN4M/
M?B*+:DY95B$OV(_\2K^9%OX$]GW3ZMR9G\"/\%-5L&KK[SB$( QA3IZN7;F>
MJ*AJ!361%#P%.:@]+2NU\GNVGU56![Z)/S%:2P?!S;\S^,A@8YHN<KTEGJ\Y
M*8<_M)GMD@(EA.0QFG#=1GGTQP[;#601$PC+=*!8QUK0>_4NHLE6):Y7<(Y[
M\\T3KP$'O=G;-_FD/OAQB4:,O[YI]Z^_1?[W2;R/)_^C:2_@H'O+O'5*?;6V
MUMES);C[T[G<O=33<&74=ZJ3UR5OY-^J0"-,+WUZ)7+75!%D9MKZ])&_G^;P
MM=^INJH_0JT-_G?N]/]6 DSW!\?AFX",'&P\F*KJ!?[[1#I,PX!A_%><'THV
MG%P\YMATR>4[_X^[R?YW7[GEU&(\+<JR92*@73[9\.%G7U'^EOKWTNFIMZK.
M&/]]U%+C=E-^K%,)SDH!=MF#.8>)5W=G<NQB;"\N]*]@0Y_'=QN+EBA]7^NM
M9/]VPD*USQMF2'TZPWA$.!2P1%. T6@YW,I-L]BX0$EH8'A>9'5_A,COYXO\
M\@4_GW[0[5!ZH@<50M97C@Q#S<4^=8CT@  ,>Z*Y&*23/WL!K]_^W<(V,''D
MF<_E"?,4U<CMP:CMS"0^UJ#;0D)JV'C$:?74F#:]][4MU9]H>3VX-TB?,XV$
MN49_R(K$\)UO3TPZ.5_>^CJJ&A5+JMRYLN/5M['B#?$(^<U7?@Q&H]7'?S,,
M*9!S'IV'A'A*#\+/AQ4_/P(H@Q;F1G7EKS>WA?Z;'K]_^[^T2%"G(.U8VK(!
MNX\ (K0>NN'&$8"<-%+>1U66#,:%3VZ7!6^*:!R$T,NU2 G$*LNW>:;E#-#:
MXT1CS<DK=7-+ACU@FB7HXEXJ&^)83T$0[@>@U0+#S.60M!*,O[^+"&5R%]L,
M)-<BB$/'<NL+<^P(\#Z*SD'7_GH$*/<!C>QH(KX$D?:Q7M$6G-<R7NEVNOD9
M:XIXI6A,KT'DW]4I_L[@B',P%JV_9GV/]5*$:"27%M^>YI?"N:6!3FY*62I7
M\MX!6G^1J;BY5+"@4<![XZ1;^D.CC7>C@OD]P4(2J5D>%;5W"B[K-$OZ54[G
M"XRPNOQ$0)(??PF7H97Z$I$ 6O=2;\O?'J'-HK:85>G&=R[1(6/^0LP+;'.1
M-TYX9<V0XBD9.SVRMW(&<E8>J,2Q&1691KYV.?,RTL(7'V[N[Z3IB.Q"QAQ_
M,I3>9<\%?N88<XCNJFEQB/RZTQ*B,8Y-SLO1VF[96PH*Z9<'N9CD2U6%#LD'
M(5%?,1"+0)&8%,<F]6;0L>AY@*1<'!ZPUKM:R+Q8K>WLSEET'JV2?E8!WG+W
M5M)UTO[;%9U=ON\C=$^X9^L,M#F8,C78@8HG)'%H.Y^U[M_HOKS]@U&\+&>T
M<MIUYOU(B0?'HG;8 ]TP?"^I0AW=QMWPLM)+\ASJ))RD]:)NM.-OX,K:831;
M6'19'L*.8^Y)ZMRK]<]_],1H]"4L&\VE=T%\O!G?\(<II:I1#:5J!]-OOV<W
MWE%SRY0S.C@[\,)Z!ER/[S9&N.ORKR^!DAGF99Z=@I,!IT/M[4/R2[+<KE[A
M++WG 'UBZ=C;*!JPLF@BKW"/SRKJ#5@N=/5S *3-SR*CHV7&Y?,T4X660"=2
MBRG\W7\=-<&MD]*8R(">)I%X]BC)TW(76B4%^69H.=0AVC"1Q+EB.(GV]:,*
M7/UMTC*=/3TZ]"KU^I4I<N@.5IVX:[49?=6.\F#.P[7:TKJIH,AQ)HIY S;W
M18]C!BW]<1W\E,QLRS"LF#W,8-/9RP!=[=^_,_QVZ;>DF*'.#(<!Y$J_U[BU
M:E*I *Q=S*<'E+ @1],FL@5BSWH5S@J79).\=@X+KN[P7*]W;*A6MG3R+9##
MOPG7@$U\Z=2=A'L6K8.<*1H?)]1']F>=,[^IZAWH&=Z)4L2R7YOCZQFS6.VV
M]I9WW+UJ^0'J7K]: #PLU9.D@9D7L1M8[L.\X_F.]VY.W15QIULV;.Z(+"=M
MC%()&A$%UYQ\W4-\RQ=N!T)TLF<>WASF)7\V3)[\;6OC=U;B@N%]RR=((A>;
M%Y,_RC#O24.HVM2&M47#PM#]Z8W-1)D37UF*X:<B;[$*2KPM>L!U-^L(<,'O
M0W9MN_AG 1*&TBFF8ZN<JG3N4I W1,0J![CWO0^C=S#BA^%">&S% ]DWU6W1
MUXC5^;I[MB,CQ$%>:S:U :VTFHHAP95L $]$020:EQ =^RG3A!T[*$"J:LG+
MG/BVB[T8/HZYR' FY(?VX/ )FX&Z0(=\)1]2G7,\>D!?R+&V,>"I8/'!PRI&
MAY96(6&&9$ Q)(!BST01?/C-RE;929?M.IH$.(1<LG^X)2=$^KTL.9?Q*M/)
MU@#D;)J3F6[?G-;1;+KCK_TW>R_9::=7N(-:6?' VV>K/&.9^!P@)!6D\.W6
M4H8QL>T(( A_24&EH@4^TDR=ICOQA$,VR=0'C70I[@,.T7"+\W\B\M@&OCUX
M51!2QY\PUJTT4MNR+9EK0@W-9U92M@9>S?1H@V-Q,6@?N#3DG]LNNB6<8R^@
M@RW/"IX.W(XAA(/;^P(6> _K]:[!Y/518[M(D7G#\KGR'-Y@J^G]^PDWKX2X
M//^RH3K -\"X_R^XLF_BNQJ. ,?XZ('H-B#0PX+%#;.H" WCQT/T@2"=FLTE
M[;9S?G#%?^_ED%OJI?P+I>Z(9[1PNB,V??D _SP5D;6?X[V9]WF@J,[]G$[E
MSHTZ1^K:BU+;!T,/F&6;471SQD,R-DD=P[NZH- :ZSB-+JIP[$!?/"P><JS_
M+<:>7/WEB^@3Y?ACSJK9:Y[4$C1=H$+1[4>Z>S-?!'4+?HS3N]9:8E1E<_*6
MU,7KOI,SFI5_F,!FLE-BA2TM8@MN$*BVCB@6D4U^46QQ^KZ,[(OH_@>L#V+Q
M!;62]U(U;T:V;<^8G<TRR?[M%[2G&_SE"-",ZL/$WF1IB?](&UV;,VUQ3+/_
M:7\[X/*C,<L1D:Q'/TY%X.J/ (1/>I*([CYSL7\7?T*.@Y!%#]6W OK@V<K^
M<]UV=O_\4M\/HJ[/T6L)X=W)<[^L0_]$S5DV.&#-5>=$J..T"=FXR]-Y ]8R
M?Z^(SX+&%-%I29:H33A26<O@H&5S"2G3BF=C'-M!!(.MEJ9Z=[JSC] !^48/
MRYF5R!S=D>3&C/YQ]$M@'>H1_+K<:G?%YM4UJX=@OS^<S?<V?S%W]'N8$I-H
M^5K;M;^ZNW^]R]TELA?69H>,13@74[=O][TJ3\"\4$YDJI-'5F+W"H5& DL6
M[D W)>SE/9+JTR-K5B\\.[NX,P*;Y[,H?5!L\>$QY.N[R0^/'T%E@IUD:(0E
M'T&X[AB:JWH=#"%WIE &79RI1CR#'F-C7.\JQ/ZI6UIVF5DUG^J\25MRI$%<
MR$RZ_0Y#\MFCVMVMAEOM[!G6^Q&G8UE2K70A[%#)6^ 3<VN^ZYM,6>CMVM_?
MDS.C31\)NK7RK'@.NP4%;DW4.+&2\0R9<'7R$2"6.4$%D:!W%GI((IH'3B\2
M\JB_O/LWEB1OK,EI794.?^*ZA7(ZCF<FRY6A_CYE1X (<(^3S!1<!&D+L1,O
MTLNIFAU<MI^?T[).KD_A*CH=R77Z(N=MI/T4!HI(SAW-48P>2%4:9[O0/P*!
M0'V4S@Y<'!!NU2,T.MDNI9X_GF>A)? %&(($>L$<G%12T!MK=,_[;32(\7[P
MDS1ZW;>@K/[J4);<](=/A547*RWREX34=W1/$=T'L&)PE_J)6AV7FH':L@+C
MY@Q3#H_E5,G3(97"GUE/2=2??FTN(3Q*<Z;X]!6>":0G0[IP2*I>N6ZC[2!H
M]E-A@,*?WT%#2<7+R9RWL&*O9BX96#>4%6U,6BM#/)0]-95"V_=U!;Y@CIV#
M*Z8-%=>LS DY LS.=$IDCDS^IO.A,1[0T=F>_JZ0=.8?L;!H2YHUI:<?SZ+4
MS)'*L@[^,>%U-OTG:E:B\)NE5$5OQ8\NEPDQ2'1MOGU7VV@TX9#+'M, "5.V
MMRTTS\\W+Z@'Y5QBYUP\Y;MSHF"V,NNF7:5!Z(*I?7B0<.7C@(7"B/%C)* L
M82-)H<=,SCVN;"QCW[,U<3 !]K/NY9RTU<,0G8C<P*T!;)QP;*\Y[<$OB@$1
MUOBL/U#^95J] >#TE80+=8 #D\5]OB^/GFQX?M:Z48VY%&H\:_A^5GR0B)_C
M6&)-T=$.*8(XJ>:NFZ#C/[9&:LM[P'_\<,[*O9$5)QF%5?_FA1>#^]8QU.MI
MB+#: R9W_97IO\&S$H[1QO+T+Y'ZD0/5XLTC--.N-FQ*LW^9AY5R!?BLS&>/
MJ:P[?;Q0J13;. #+X\GMEV>,3];0P(;DS?(26DP8I%?Y$WX6QQ8P_*0^I(]!
M?[V=6-GKX+KI#5(0[<AB?W6/PRP G%+XOKRI6M&AH!,1,0E#4E-H\4MA]MVO
MLIN)P)8%FI6O;[$I5=Z#.2SA\4/CH@KPG0NAAROGY\HJXL<6\<E /U?\@@I%
M.2FP5N,(0"RY>=..9K?T)$4;AH+F!5U42>CE$7^I"55.405S/7IDS_:@5//!
M5<,19>U#;*4EA>?-Y*^M'6:GX1JJ>S[TF-J&/;:9"=>A#?=D=[+'3%%[\>[&
M.L3AQN'M)8O;(C&"V;(>@,Q<Q@YY:Z"0#WZ-DHVI8NA,*Z&OE:]I9HR()?GV
MCYU-S!1N4A#6J4J[*>IWHB^DEB_KW+FK6EJV._9W:YJV)\?KY)[P6GK73N\C
M0E:!O" /;!Q&J*D=JMVO)YUI\P_JG4.?#]5#PB!-_@K\;F+&J7]6)J> "86B
M.E!*W;IY*Z6L^;!1HR!5K#$LXZQ.LQ_'N;N)'[+$_,=;[>0;U#S[?]:;S'G6
MC\AE9FW);+YB[06E+NC1*D.*YFEYO19XQS]N>0\*1&!0I]GX.[9VO/H?^M_P
M?)WKEZ_M/&S64_>RD\*9#:34V8UZY K,N;_(R))DW?\DL;BX-U_XBB(GYR2>
M:'Q#7K')CFONB5FS+/(]'GZ-MK.T%07Q*^"D*$XGGQ]FS?TIY7]GXXQFB)^\
MT@9 -6F1RR23&$LZ13FUI-Y1BTE"&VHT^G@Q7ZB$7.@2UKO6_L*H^(:4:\K>
M2M.34&$X<R++/[@% ^LH.0C1RF^_:#=OYN;/UX=NN.W+$2^9+2/WY\LO%<FT
MVRN7.UKFJ#]I<YYEBI&P[=6/EC_$3;4]I?NO?:OE]@L;?HZ^F1!X]7$UPZA\
MK>[*9#XHTDQ,(XHBW\L\UB=ZJ@W3LD> -Y^$<@F!VFFHBT*"?,]]5%2>Z0/1
MYSV\@,(Z;E7PA^"X'+N!O"6^[*O]I50;0ZPH1!BH()O3797:/JJUW)I+<J'Y
M+,,%6BE' &J*#O*"81'"/40L>$Z'Z?.^O66D/6A_--3BK6??@C&D#!_[<>EJ
MLROC"+"8SX(D&5/T!HB**RD$BAZ6S\DF^6:8_@9_>5BKZ],"V\2GRVJ_E&#K
MT_\P!"CM T N'>=*6'%/&P/W'%6IEASB*_JHX8'C?LN?61-@7OHV98X/V _^
M5X]4,"][Z?VK1Z;HHAH-QWID._A@>LP\.2]/<"=H;\4;-BK/N=35-H)\ ]4Q
M5T\<*'*<'W1A6;H>(356U5CAL"G!"LX3'+WG=U:HGU>:=_))28[9C,$1 /#9
MI"K3K+T80D3T*PO"GT_5!BH+KBO6+-CU_=*7O,U[B4?KB\V4X>-5![<@#(^>
MR#'BMZ/(+S X$ Y(3H>%XQT'TG^'%8YD6&YW4N93Y;5;1S>C1"E/:O4>&&Q,
MQ_@O+\/IQ^+4[GTTKQ4VEB%20_LT8(<>WW!:F[G71 ]D=&59G0VN\I:.&_RY
M=C(I<_ 4@*!17"UL]B?)Z\JG=_^[PSS\@FF@VLL>$3.U)&[)9%/5:S< )R8S
M[<(5R'75BXB+7L*<* A5S-[\;8^_S[+\@??-Y"&3PB^YUM:H1[.X9;/_EL;_
M+WY.A_0S1X#!&9@($X_9C22BSW30J<?A+[..K'F(0:RR]/FY@.:K$-%,PP<B
M-/(>^/W?/0->ZV7#>19GVA+3X#R8V5%X8/7[&6U4(Z^[K00RK'.N>,WCU,K9
MI9 2RV3;^923%8,R'2Y?,.QW]1R937DE]$&/5US!^]2ZJ"\8K@VT)I1O\K7#
MVL4K+O*</)*?4M<=DP&7*PS8/\I%O&:];?K_SRZX:#S1D,2]"'SS=[XSF:CX
MG!#XOI8YW>:=4^:X9FUZQFC'2=ZF).!^]?D-@!1W@?RX_!>&)WF)*/ Z7 66
M2 SN"84*]('(::O4H-R9Z+WJV(9<JZ:=T]?M'*,#[\FK1HG&-Z5Q$C)OB0\2
M@ *>>MKD^92.HOG#=I,."[+Y;[3;ZV?E<HLJ$I$JMW2L^N!@BBPU:S)<$0^7
M'T.K?X*MG9?M9:MU@+191Y>W-$U/0_5L2"6-/!V]IL(UX]>"$\Q^78;>>'9/
M($G'FN+>A6D<Z*=>@,UT_7V>IY2I&=4,$EB[X. U=M#8FW--Y[NYO%'\9;)K
MT'/CEHR7'J<V<?++A=PP>2N:+$6;P%]<1MOOPQ$HLG&%=V:@ZH=VIL/VO\(T
MJ(LF:=>V2?FN+58G69+#GUU+D4\C;[3%1H;+VA[[V=(44]*C0 )-X2E[3Q11
M] LFEWU*#>@?_=[%$:)!+[[6:P%+?Q_14Z_UD:O> _E.AXL09DU-F=:37/^+
M28$[$@;5$+Q>>J)C+^!:-:;.+&^L7ESF,6:'HRX:$4H/:8&XKR>7D'DPK@$G
MK<./: .R\.A^?UM=!!0)T[1'<&M$O9RN#:?FM*0=U&?=B#%TP[Z+\I-JJ.*;
M3SNQ;\"71^C@5#[W1T/XOJ8UZI_9[G^D^TL#]JVOLPB>,7:5_N5C]<QX$V+R
M/_?N4PZ!U!::-9&+V]X#YQZOI+S2AF9B4>B6L:V"[M!(PFG?A;CPT940CNVO
M(4BK*35:,U1CLS]LP6!2^72>" 3J)O<R5%2\>8?K3>"6:'@_\P)Y(%K'N63U
M6-L[E@V[?YR%]=S-V]AON38H9S\GLBXKZ-QI]'WX7#+VV^/,6T#+1V 5AA:Y
MOXAN "LD"L2C;R_Y"'AJ_%5.]$'KEG@LB$TO3RC62C2D/U.6NV-8*%6'O'1]
M4\3Q%H!]@$8G0D']?\N3L='2M/I:+Z9@I*GI>P9W;=W[,D_-]"]N!]]0&I31
M-6&-@$/J]3,+GU[KM7SJ5"87H(CX%/R%SK,V7@7J,TV.JKU -H'>-E)+U"LJ
M"/K9O5[(*O4\&_[E@S]#+2<<?T@)@W@#CZ4N0YFF?3Q(Q%U*RV=?V>@],3&&
M;I57<(,#>%;Z:U,Z,33;1:I"K' K(^BSA=%'+E0%,A=NL%AKOUC8N_7&+B5O
M"2\ B>TMN!S&X=@TL^>IK.B3OCLW%R%W:V"X)3!CUN8LO_I!7/\-I$@;9:;7
M/-&=J(<I_8,0<*?PQ7RN6M43/,:GTN2Z^*=0:=@EV]H2="J)I4!W_( "PE]2
M 4B=VJJ2__6^F#+3A\"Q=NL)4+CBU;=.VS@RU)NG&?J?/%Y%S9E2CP7C"YB%
MS=R^C?O3\;OZZ1<KH"4S4Z\>?&C3RW)[FNG@4%IS]>1(L*J96H3E%?<@J791
MU_I?'S)O\?]G4<80Q3JA"7&*YO]H9N_0!&\T%D"S(Z[]W;R5WB.X9@QB-AB=
MRB6&BS/'"D[12I''ZCK48E)Z<J3=4;JSZ!/8<]G(LL+SPL_;@H$L.5E2\)[I
M&GCXO^5!'.T$IVJ"VN01H+YN)1NW.<[HEC'RAFY*MD877+Z5KME;]#8]S5QB
M,54=@5/NQY]'*J$U*: NJD;G)2C/HZD J$M/3JU_V?J9(2X-CY:;-=/;)(F-
MIT/W7J[PGMB%\NU@O@!/#!X3?=DWX8JT=J)R0F"R]Q'@7JKCY#?<QN"G"%W4
MNZ$6D[L<O,[;)5=\TBZ:JR]U7J9%!'L2N6(Z=<C:#+M,(PIK4D"BS S<H+J<
MRG<8O?<C/CW@P%N_PN/7-^^6H7L7-M?3N-HJD&\9'(MA]DNR_<HIV;C]5(:;
MY\<_!3*1,R;CNV9!8;I0H:8Y8ZFG%!6_ST_O&J#_,6WI=LA=JH$_6L*(PQ!4
MES%OG9":U?VVY?K:5;N%VK*OBLN3T W2UAD'@*5V;0-CT<TV\2KKF==Z\Y\Z
MC2B:\>K8V5A'6CMG*G*]\^J86F%L>5^0<'!\LU"S%A19G/%;!-K[;?S=!T,A
M5X5;.*-^7X>!'CHVP2IWOP?J<I>\U;=.ND.W: 3SX6GM5A/+8W4;,A8HGKX7
M.0T<?DG#E\]*FF>QY\_^ET'GA -H[DZTK"5LW-\C0!S#G^A9HZ.^=&@R8##V
M8L^VEN22(IM,N6%Q;LUT@UOK6M65[E^9#OANH4"NTS1Z#S]0< \1A]/LA0S/
M1.J:./J%IK*OSYP3K7EI*"(""[XRU$WIDQV.:,^XI=?_[VDO_V<3%77=_S@S
M[B.[T_]QTM]_-?3]CXO_;Y9 :E9S2Y<3*VZ'E<]CG4.]NPB?F].+,S3$V!O2
M;N_SV26<"07W+2O3=>!GGDN_PT'N9A[;>._@NCZU!V)-,>R9GC@"_!*$GR\)
M2P5$_-H(:\7J=82,^H^$N,=U7EK3DR&#W\!5 UEJ@L2%4M;DM2[=N_A5]L,W
MIK/"[4OO(E[?6"]H_DG3I.;/H*]^],AU7(EA*!)[BC(/,\.(BEIUWB\$@LCI
MK>GA3[PM56[\N0'@ LU:QBIDM#^P>]4RBO5D<U+$K8$B]9(./YJU3H \?5G?
M'U92@6?S-C_CLW9N!@UD%<)GDN$@YL@1($:+D@BAC"AE=ZI,W&<[==G$=1M;
M</GY:?D#[1@C"?<B(:0.&3^ Y:>%#N2N),JTMLSX!/[*%G.:L(G%-D]*9F:G
MV&SK/;RS>%4DZ+7*C5):#F78AI95M)K+-AY@?@X6;/Y^TWF,H>TQ/=T?+.CY
M0;7>?4!(]K61&$08YI5F4FC:AQ^3_ALNDXEDT]1K\5JHQ4Q2L2UPR>.!6> /
M,Y? -$,$07T@\[#2G8II#HO=\J%K8)7=18(VYT=]^^ K! 2__F)JO# X7LVC
MCJ4NJVH@S/-\[\=O+BD/UU+6  J6 ". :,&U/F>$YP+B^1' _; .L7$$T"0!
MW79$AG8T2/C&&_,IJDE+";6.;__(>1FW_US.=Y?ESZH)C_2\&91(!\&?TI*7
MJNFPE7$=<Z(B2'_"-8U"A1SFY" G1*QD'G)5#(A!8IIICJS=J6RK8,[ -PZT
M)6+ 3;>!]]O#@26VH^DQ4BY"&8X]8GF22* VXRYME0B*+^ @^T3O639&W2<W
MHV:A++DWU18-1;UVW+ZZ6\9;7CAS0J\90L23N(A;2;B<F*V]]XHU=4T<OBP?
M<I^A%3%!2UK2@SNVD1E#MP[N 9 W;YC,.&"/?8F$CV6,#CZ[NNZVNH-GI :-
M=8)@&/!A62:AC]11N]*SGGH!$UO8?;6\6_%9X\Y]T2MWOO1CT IGM?2_\CWN
MPGVGR9+-EQ3:>(/V@W'*2<X-X\K(2[8CC:DW+[TLBL&K&&)865D:$W8J$1 \
M[V"@3%V!"#D9D^3ZII>I%&LT5\5_M;YT'C-\D4^*GSNE><4*Q-,, <8*XR.G
MY6T#YIV88O>(Q"?^+Z7C5![6M@MJI_B5T!.:HS.M?AN'HAPW]A#3R$KE"YD8
M51]PUG1LU1\]E6EX&)EK:0%#Y#A0UWVVO=]3%EIY)R:M!G7V,SN 8,F97XVD
MK5"*^X  AF\IC*=KX4'ZXKRLR3^*9<:>/%W50I=LGV?#RUP71K_^/ *P]9^'
MKQ?!]2?AH$40+^W! H?U!-I ^@/*;RCIN?Z+S;$#5Q4 CZ2[Q,HIP;I]L\-*
MG=N0$H\67&H,6I:H^-@ 9>JHZ32MUJA[6..;\>PAH;OE&Z-]JGXFT\Z4\V#N
M]P/-N=^\A4/8K<OJ.7(.(WI' (TCP./O"$]@S$O&W<-RIN1!@1)Y(,H@[P?4
M_.+"('3%IS$UCGJ/WD(Z:$SR=OJ\5!![.QKA-CDFC4&UOH8_Y(<BGM.+ NG\
M/0HOOK@9'41(^*:PA #[N.)PY7U(,:]PA>GBEL3'DSJ-UW&2"B%&&2JWGKM\
MO66N:[PZGLGDERD] K!CF!?,+\_0)>DN=)_1'WB/'4:JK#=I+@BZ(N)?<%BU
M=*?$LUN1Y).5?KV:56M0<8O62$**P:W(A5U'@$24'E\[963A_6*'T/@0 F"X
M2"MKR/[9VYY>MA,1]#+X(-H_^\^]VV1D-"XX":[I0SP"\-%.];59]Z2>!*^-
MN+C7P&(,$DRC[Z5_2I#\/:ST.WE[SE!W4,[W]3%AB4%5S=D67J0I=XFK3D&?
MV@=.-Q^*8F%_,"^U%1*0$0/?RF^LZ.3VDA&D\]4P^VY5VK.=GG ABE7D#*FR
MQZ7NATXZ;O3+&0_T9QX/B; %:Z1H[G)Y=.79&[@M4Y+[2@NS;!O)]F!_PMZG
M?.D : 9+_-(&3D9XI+[FH:4'8'@6('97VZ9\FGY?GK/.GI>!E4I\\IZO/S%T
M+N5LOWS!82["DTN4\9 V*Y-%])RP'%^IGRQ#-=)%3<7?KD.O6K^)/B_(T::$
MC@\97$8+].&;4I/@CD3EL^O1-0%AYMU5+N._QQ4[1^ME<UWOSF:T6W(+/@1<
M^:BQ:;SV O'"A_O/WZG^^A*8:I>P1BU,VIX^)R8];C^5;G/SZX+G%P7]_#R_
MKR6_7(5@)BF%\@G>TTYVF#%D:VE<+.@Z5![_;Q:!=4NU#O1KN :T\=$!L=K&
MOG\$2  V"20U@>9NT92-.R-[NC,A5'[-5W:VW2YHV_MWGK_+4MA8</$O.',M
MR7H 2^%ZE$E(TF-1L3L"N!K4Z+7(_%A ?/@N)6WJ/=?H=2KY\V@(R:Y BC9<
M"RM>DJ!E!4*<Q=L/BWTJPPH$?]J'I+V5T\A1;#IPD0P*T4E8S>8;-3L6TUO]
MTXPDR;C?3NNH'IK3RK@>]\0O\BIMOPRN,ZF&8:$AC2@NG];^)I;6J'C*^ZI!
M3ELK;]]9>/J 4_/*EU$])U9J*ZW=?PFJ_$5/I)7RE'*OO'CU]7KPS4!\?OD(
MS!CWU?I7"!_;&0/! S+7 M\<_-HTPX"(C&8J4ZPC&?+%L*7^ @6*SHRX['<D
ME#GE SUS_SMO8SK3;4<JK28V1%!2ZTPK$F=JVOP/S9W@J6-*0)R#:1)=<6](
M2IF$ZH 62;,?1>++5P8MTX9$A'XA6U_X69BN<^19%6916SJ@1P#. $N?'YV.
MM=OXS<](NO9P*8R#&DH!IH!09>28=E^BX.XCHKPC7Z!IH@U+:\YPLMW=;53]
M\OW"MC/7;_.&R\/AXR(/:8'$0C98PE8OZ&( VXH [G TH2T$$_].,-O2$/KK
M*@RKY>:2N^T3?000"<1'!^5VYGMZEJ[G<M94*._J!LV0-/P;1(NSOE[*J;<2
M:_QPSLN,\A=,,V-H$2&@$S!9X[P[Z<NH^HE=5 +.]H'&H,I.\->'%6[#3[DG
M,K@>]PSCAORL\2B([2JB?_X^G]O&Y&,4'A]&^EM HNM[M"!.,T76<#E13?QC
M2#3BY3^PJ(N2J-CTCPE!XS'=04)V=U:T_06?X%Z>Q=*:*>W]X+-,<;A 5+<
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
MN]BTGV'+%O96LA'-&LU*B:4_CE%7_#P%_=>Q81;GY20UGAO:%!W^RVWZ[H)
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
MUS>3&,#"KE3F!-:Y]UOK#=2&KI!=;"X5CM:RI=ENP])XT&?Z8R+WZ!,&RDU
MQP) B68)&(1)L$.;O3U09=H8J_Q1_OD1_T=,_,UX01,3PPX3$Q.>#M-QEV9_
M)_Z*G%,[2/L<G$\H[>I:T5SYR>D9'8U@0<N/>W\[@_)?*=#PLRC(XD8K/0D
MFC]1\[8E_\=CJDT2>=L3JN=. E\I/0$<#/U^%EP0)[S'MQWYWTD;92J0$.I4
M3%#%5A6BN=U\027FFLO:Z\59*2Q/&!:K 2')UJ!.*)*Y*X\KP\"&?*MARE3)
MTMWF_JU$W8I'#+*U%R25P1AE=<?U+JDGTT=Y#]ISR5G,Z(&.=V#:##],1U3M
M,D]'UNH,U=V\+EXUZSP?5((R"I(P#S.+(Y#A$,:-=M06+LVA<S38B=YRF>B8
MS]LM5<]ORNDK.KV7O#A[9)9/VT$U=]4LE<!\]B'TXJG2G-LNF&G,:/2%OR Z
M8;^IWBJK_%$ JU*!5LZAE.?BRM=>X7<XN:UZE(UX-W(R&35,"3Y" RVY!RW6
MD= H:;XP!P?%EXYOBB7%CNZ%.\4K<"OB[O$^&+'6C J7 0OWY=$6X-\6XB,G
M091M%1F@+X][^2/E]Y:/\[\Z")I$4792<.R*TQ-G;;EP)?G%L%@B9ZC!9*M<
MV9RFLSMZT(X6=F@=OWW%<>X'_Y7%B-:^.N=*0-@=]= @W#./D,.\L_)SO3N-
MCWV"G4(D4;FRGD#CK!XTN[NW&:UCEB.'BNT^WMC]]HSL8COH4'L6)T=@SD,=
MQ?AQ#NDL3+OSTK9?G^YR'*MO$[9J\1;92'_8I.7HGR[K>>U*RJ43 ZK)<;.A
M/"J(^X;^Y?!>63CGN?F=%4':O.JS^3KVU$[>>GK@Z0=-SN:(I@RP$8*L0^!F
M_I0J"$ZQ>EBS<1<OAV:M7G"Y) 7&Z&(Q_04%C&V"[QL#7_, NS6,?V4"3I['
M[?'RAH_R4.!#L%/JN*&Y4K'R@HUA$,-;G@3/HT#%BMJJU6<-;RA7 @P><3E0
MR5?HQT#J-E6OA#J!4.70&%6F4.9 7ZX4-7]T'F-8[NB].(O8'*Z4F]D,Y)?U
M-"L!(;K_MY$^G?!9Q'MR\'])I?OW^L^+T[SXW7-'M<J=$*UO8/Z7,$]_#PLU
MV.J/53GM#>=OFJA4$<0?=7E;]U8/EJR:39:[>>7[O)6IJV2_[N/@M)@ZOMRF
M$0? S3XX-,$^S+V$A<76I4^$2HE'KZ3O:$Y)OQUM3JO8W=Y;VBMB7&9_V_3N
M$;LU[/K",QN=0^]:G ""]S)8N+M=#A<8)^K?=",%8S0AMC4T'OZD7*CBOCP3
MO_4GJBN[RL=0FX*7"A!V@O)8J_<7L :1Z/[Y.;;WJTRY#,S?) 54,V/ED2KD
MDR56),^IM]"Z</[,X=_I8]:3E6) -0P)P G.>%@W_G3B.G:N%.(Y20LT>I,_
M8W0Q5UV+Q5PDY>M ?"2 9;/.@"H17WCX?+1^F,D]LST930*P@>\ [Q$]ZTOQ
M((,X6@\-W4@I8:HW<W=HA,K '+)*:@)\,K#\4')L:33!9*'-72,&HV-'O6K&
MPS.Z/QUH5U-944GFL5 6X'WHA_#<[MX6X!M9_:<#;M3BE>H'"3W5Z>8/1^J>
M/^(J>O-.PR3V>CPVA /G#OEMVKMG,+J(T^]6Y0;O:8^)\XV+UNE?7F?=<E[I
MNYXB\.X!B'FXNJNFHFHCC2(J[HA&D/R;#.AWK5Y6;R;\#5 5P\L&OFGCB1([
M"%-%3/TL+LF7_%*:N28B>6TVF<4B7R*]@S]UR&12U<F#_ F.ZLW.=9QFW'X8
M8P\;?5 EWN$Q/)%;D>B<X)"N<3;RD2XNCDM3B+*/+S7/M> E$-&15SL?&\ZS
MT4XW4;<Q:^2>1 -6"V5QA!GU]M]ZYQ[ I,UZ]_'O^J1EH_+!T-9X=0SD]S B
M7&6,>-UBG0U9(0%&6K'7,WN(:(]PJEU.ZI]E1S*FM, \?^A)3$\(?F*PZX4P
M^NUPN>5>@<,SU]E;)2KHW88\9DT<LS9AK-.. ]DE@V4,E&.-XO(4/+3F9Q_/
M&:5)Y48N)PX>'TKA/Y@<4NY*Y&R/5+(:C+_H&J=+4:+ )13C$L?:JP^<JAFY
MQV62U!4FU(?V@"=&+^?+UC+&3B$B!#[:"L"8+[7V#NQ(IG,U;%Z9!DZY_T/2
M]&'P7A<]!DHWXWJI:H.'(\74S$9'K<E<#"W4D5 Q,!@5?WE C8K"C'YA^/>@
M%G8EG@]GVH:&,!$>X"ZV93>P!N8*-T6:U$3:M/L@Z"[W,'V\(.@L:!Z1\ O=
MYG:^C/(HB8-(U0BDLB*B9TXTJU-"3;G"]E(K/,[CMKQ3 D:"#K'R8<)ZZX&$
M24?'@@.G_MFY.^?A@ I3/.W-E9W<3Z)95PPO_N2:F5A,:[4&=9;VN1?'=%%2
MT+S;XL.W3O;(FNH996(<8!'(C.W3P?*^;G6M=#UB2[4!UQKKFAZ+V;#SI7F@
M8;27::AMWN4C6!4$LNT9G!^<9;?*?-+'[EJ%;)E,=QR=)!:6!J5T/ZRQ[?-*
MO51];>:3=3_,<Y3:.KUS^,MYSX;G8V$/)PB@,G#FL5-KGN'/OMBJBN>_)FLL
MCVL>J>DVB3R.+Q6-E.\+QIQ;*ME.[#()H&4CC!9(S$,$ZUU,BMZNEW?\&B-Q
M='-V,2P?8]BA^?$E@"%M\XD!%1]V!Y6>@1TF,H$VFW;^=MTIRKIY:KM]<G5:
M3&"ZS=BMZO*+:U0"55I5 CIG'[?X<)2QGS?F5'&P^"UII6[X6%U..'%VR[[Q
MWD.?ZCCJQ;14;[ZAY./.Q:F:?].8?SD(6[9.NX/?;3Q7DQZ$!( 1=ICP\@5\
M(^^@4GOP+_5_U98XSL,H$B#E&"=,[/4XY^+:1=#I3,(&_IR[4*SCDS&0-^UB
M.)9$V#D5K ][MF<0J?2V)2W9(=TY^4&$YSW[:\X4\4<R.TLL:P9E<J:FS<#0
M@?B-^T(T*P@_LRDX=E,USFZ?%QM+I+2![,KP_D,[3/\PAHT8SM=YDLMWS+[+
MPG*P0U!B1&><41%ND  1&7:$!,U_^L>_0*[_0?Q!_$'\0?Q!_$'\0?Q!_$'\
M0?Q!_$'\0?Q!_ \C_BD)T0X)@/H%N0I?544Q$NB:28!%M_V=WWF'5W!'G7D)
M[5RXQ/IRO.?&X['PL17UI[Y>>W(?/41TZH TI<OOF-.YR/>K7N@IT2LRQS^O
M&B,DK#X5[JW@7]C,) RWN!3$X<DWNOX;W_Y]2 #F4#('G$Y',SSZX(Y3Y)A!
MPI-!!CF-@?55A++70"DW+FYO^/?\H>-7/)5L94#S>/-VX6>A[N?NWA<T.5("
M7LW\YL?PYR( OK93ZD^%KBX9FJ8<I7\_^+S<B+RF^#%,,<$HJ[6P!*K7 %>O
MG41&7S6TRGUDEDMXC-?!3A]&CGJ&JF)$:35Q_FVI[\'/$?I.?(("+UX_?-=D
M[5.L)_RS'!'.']Z==U%%%-RUT6,K@'T8&'ZS!6#M)IN9,/N^]NG]A.5+J8$#
M@)6O/._),)#:&<6\+@@R"\W;R4@-1ACCG!$;C-0EU>X,96 0/W:Y8.QU>H\S
M\$L-\W4-($ I1G0Y[ZLX OYF3NPLMVY0E8;X$Q9^*>]1:VOM!/ V4*#$QMHU
M\-GR_0VI@1)3YQ\$N*J*DGW8&#9O(2E"Y>(JDTL[.;8G*<;OV%I+TO*&N!39
MR]%'W:VO&,B>N;_%IYVR$MCP3>@R@@X:1#X]#)T1FTYXH-_6/+;<R,4X5U]7
M?1P+\#D&,JK=XY4F^)WE'/!&D !8O9W$=MZ15CMOS*R^T815MQQL9%K3\RF]
M[_.CY->89Y\+Y)\GO[<';'5 82J\^%2$X@IBF'&#YUI3O<K5QJ\QNBKF[ ^%
M05\I#']04K)QO^YSBT61 %UYU 1A[(MP9FQ)A',!WD<9/_;I<>\T\=BC.UUT
MIL%WKO7+_.%%_$5GM(O,!BC6-!W6<.0>=E7V".;]NT\QN[SRR\!U"IX/C[WO
M\8"<*UU)   )L% 0+M.,T^URM13O":/53]6:J/J6^!M:\>[>9.[3ZU2"Y"^#
MMPT4[!E'Y]G:Q< ."Y"7_B V<*UQE.[H/I[#;NX;RXJ7BGDA57J /)DF?V83
MCAF5\8HH"O:T(?];_DF"5N&WSJ&2?$"R2<=UQ=2!K_V(.Q2.>[:&"]!?X@L"
M"!+@,G(C4Q-1?GN\4C;+54:XI5+-8R"[+$'L5O+EJ&]"E$H&5$-(342..PI.
M8%+MO0Q.G*B0&;+3:I_<KOBM_4%ES,LQ@1H8M?2AG^J=%G?YAFILN")6%[I9
MB]IATO_LBNEHF&.-6,D3$AW]+9IF0[UZE\RFS;=7JL=W'@8C?!SNR3N]H$,"
MY(O:@\T.N?'L&%%&A*W@!)'']<BR<B*M\F! Y.B*I;6UM+:EA8>1&D5\]V)Z
M_.+!)\:[9\E_BQV(MSX?;/WY5YF:<>('^HP;EB:+N=>QQ-K2;TQ[NLF>VSQ(
M$Q&:F@^+IQ74@AL_7VKFXT'HOA[]2 @W\!(6AO8LSR?<'P.ZP+Q7B;='MR"U
M!]>*8;%#D'IDC,L "X J/I[)1\FL(507S[X BK=EK\:2 &^EJ0^X;W9VIZ=C
MAT7S&^QC[CJXV+#?C3>+E)>)PF8=&N*-L:K6>998T*L;8_5E!7=EB_T#O</\
MJG,_U\QH\17DHAY1OE1V^[^]Y?[?V9G\'RHL%X\(0=:0*5FB1NG?@P5(D^D@
M5'?):OYWQI"_-/YM?S8;:'+Z%-(EA4YPT"0!7NELJ?X^2K4,FD=: 8=%!SRG
M%[.=V7MUPWCMLNU85!<_@Q%$!%O>B?+&VBX7-YV316^K9\KVU")8H4&H@?6*
M7TX5 6X\!T?!(.OG,VD 2@*X%A(Y XE%<,(7$N P\]@G[E1U4Z2%&$:4) &D
MEB'UU?!AO/BN2B$)$#-+ I2)DP!"\+.2)+S'_$D*";!;3@(@W9<&!(E=@_"5
M>8SX'N/6"] >D9:0]/G<!/T?7J/ZM6;G^ @_2$"<6G$22(!($H!O7?6OCW7Y
MCZ]LMRY(^O=?=I<XV4L"J"[ OYTD_?7!JG]])31#L/"45HP$R(/$P[^K_A'E
MCRA_1/DCRA]1_HCR1Y0_HOP1Y8\H?T3Y(\H?4?Z(\A]%60^_1AR?QU83O$OP
M@<0K29L[#4'P-54DC^=0,C O<,!ZY;GB$31^8QS^7/58C(>#!(#EG=U.;Y+X
M*'LAG:/XD7&MH8?;B;AQ*?U']+K9JUO*G#I.\S]/1^,$H=\96V@&<7*$ER#(
MOYY^^O?Z)]H&5=P2B 2PGCJFR?WTE\BX^_\C<7G_7XC-^R^E_/.ZA&LZVN*!
MQ'/JY%[)'WV?R"<S'4)"RJI66F_.W*80N5#D$)\2DJMJ6>Y_^XSVO:DC#U]U
M\\>;$4MYWATI@MRIQ!-RWLHGN*HL[\\N/EE:CG'+S,O0]STZ]CZM(>&?3 15
MG-A=?:RGA-_[RWV&*N,#IH3];H][>M;Z\IX(?=\TNL<X%)];R*VL +U?:I17
MFR&Z+>1[F+Q<'QDG6)'P3W$2"S/!6QA)G9L]' >!U\GPF2E?@5YO!6(MN!\(
MVUA&5DA2GSX,-5'WU;KI>&S\?$;NBHT&?\S#=*F1Y C>#R4S-IW/\TLSY:]F
M4R9'1D(X>K%/W!E2?5[G7P%M3YAH "X$=EPHQ_^@W@9)7UM.<$JH*AI0C&0\
M ;8EV-U<\1;XN+O'+>(C4EU>2*7!3E=Z/<E0KP)$"?F67P"9>J]Z JC,?"-F
M.N(=J!5]U=#H[C^>U"]Z3EW\(=I 4FOUCGO>.%3<_])RY(!PQ%6&9VF%EW,6
MOV2'KI0PEBI\B0_Z*)DA) [ITBF"_#0=) $N,!/.%\&KC$<DP*?*#"*% 'Y2
M<7I]_=-%., +P)J'TDRM@ 0:J.(O$5G@M4F0/B)94ET&"$&\]--BO<$R2A(Y
M9S53$Y\68^)#!:6L-!-8=!?J&1%/M_:@,_U)Y++'X*IB=<<IBSV==C,IS5R0
M<M?3G/AYU/K<?G@M34BB5#PX1$?469(__VV^/?E+"K'<3^U_FV!))\OSWWY>
M%*<C ;Y1#A*;2 #+\0KX7UO_.G!P^78A2+\!+O8L1EQU/V1J=2O<._0)"9"2
MCV$\I;.%K!Y!ZU!)F"?[=A]WCX^PJ'6?<4/U\->A]O]3:^<_4<C6(/3A 'P4
M.B-V6R9![%2GOCYRJ=(&5)S,Z?7P6;CY+P<&I9/14(VSO%8S[+ 61TE!0V!S
MP$*2[U-AQ5Y]VD;),D"N5+SSNO 4">"<Q#B#AQ[ZXV*2GH]43AP<=%^1[GY%
M-XDE2R'#8,MYA.NC%J";&V$H99 9;+R^?&L-Y,ZY?:GM_;N7J :H:&-$_]&%
M=FV+-/^W?H7\9P<\5NZ>543-D3YR=52:1N81:"A,'#GG'(\_71@F7"<!& @2
MZ+RMI 82P$.3]BQUL]TNM9U7BO,HY]?:S^"I3+,Q56Y4"N8P'&]S]='H(+^L
MV^N7Z<\\  "R\2GG!3AMCNF>7DT;GJ_8U9(K.3J3N*X3V!B_>=IC'I0'=J@*
MZM^O=%U.*8PYK&];"?*/&U%5LEMT!K;+"(<H!@MK%H9 <]J=OUGRQ$+0-I93
MC\=$,[>)2X?J-/:LRL&Y5(#=L#MB=4H;RCX>/.X!NMK"42Z'QQ1O'KP0?N<5
M[JF(;L_$VWURF2,_*VE50[78"-V9,-!U\I=B#;EU-RB^+,_PNG6N5YN>[C/\
M6W3#&]5>^3K$@BB+IPCA ;]XZ.=RD9WENG"'=R]3&W<6<^^=3.D?IFE->!?K
MX1:-9D6)$'$\):_A*]>])SG%WS%3I=^Z<+&;\Z5@1L2>]88*<&S+__4F<DT:
MRD_UX67XP]OWK/@]J$"V$ZB) ]B6:(7%.E%J-)3.C_.2#+>;L#QZJBA!=^AS
M2(/-EX 5T #D==AA";[F%#75I<_FHD*C0O%UPJ$Q4;QNW<R[*.53\D#,X!T1
MGTO EY2 0W3GLLF$8'.U;_;VJ'6Y^E0IIFSL3<?H8<H39+R#4Y@M]&1?1:>@
MO7Z$2(>'_.V"K\&81@8HY-.\*Y/M ^<0CF$N/2YA0<;<#]\$2@AF;#BV;CO&
MNI8U N,GL-Z5$(:RJU)N8_>C82(= W&/1&'7JR0I)242V_;WS">SGVK0SPJ$
M2>O#\_N![4\^+1FY6M2O$]KT\SY#:U1NR;ULYP2?(B;).Q3U\KVKI+WZFZE'
MA<&$CHATY6@=IJW<5UN W ^5F#2\/Q:&EDTN*(VH.]->L4NYG5-JXK+%Y[S[
MOH]3F"SEVCO9_:-K7>S#=89+A>)!LO66T^'-X26C@PKB0R8A5</A+;S7S=RQ
M4RBVU^U"-M::!0@:M1=4.8%^2S?O!XO=XT^-ZJ!LUD>".IO-(MMO<WKP3+RH
M%*O -,OBXF]*.!M=#>"]+G\D,T+\ 6$"*A7C0=T\M#ANC"LKLNEYDJ'9+TI\
M]XOBZMW+@!M)W+Z)4K_MV(W,;[U!:&S]W@H1:_:O'M*AIT:W10<6P \@4LGX
MI%-E?!XJ,4[&0\]#=GGPN_E;I#73 UDOV>8R927GJ4^W6WO;2M&!':*0SH#F
M8-?FSDF":%@0AU7--Y.;Z0\:9/THH#>J6_W[%QS)M]D@-)NMM#P)1:NJ='XD
M -OOS0LDP!-X^J_'#%Z/]H)$XV'7R%\J-Z9[T$A_6I(Q'#AT&QD);!G)4?V]
M6VZD+>&E/;L$=Q<UQ,FP'/3F8"&(=NZS(LKL9O6VR3=AA?VAZ8'O*G[V"7Q@
MB8RE*I':@G,+I^#RDL(Y\;R6J0A+L\B*[3S]\1&0#.V@>?$<J]U\P?;%ZH0!
M1;)?SV Q+\JU[D?+"1>=O#@]8=<1]RM8,G6UJ M=LTGJ@I,A0]5Q_)DVVVT>
MJ-7)WZ5666ETW%&"O\B<^F^\V1C1#8E-:J=9FYKG!5Z7KE29G$<@6]T#15A'
M+L9>?EK$"4"R9 SR+ US[4%1-E)=X8)GQ< '16JH(9:Z,/%'X(O-O[J>N4ZZ
MP)IL&F=H:YRK6*LKLS3\K,MNYXG+[(]9^6_X6@;Y%9I.B$S)B=OXP1=#\\LL
M*Q/S_5^D]OF]&QBIP'$5O60BO[,O_^UDPNW$%S6/( 'H7)KEDD+]H:L_UP.0
M ?F!]+EY-\M>\7O\EHA/OZ&A219LQAP"Q4,PL:^!HJA9OLY)'J;FQO:>V:'7
M]RRY?-C<!'_,KKP+HEUWK\I]5GI'L+.Q#YV>;FGG\</5/OM95HI1^J"-?S5&
MVFS&-U1VK [.9.$B:T<CW;)#N_EH9>IV^LR/HD0KNE!$HJ1OZ@_E8_%8.TK"
MC4+"$UQODJ\3J&SF=X7DFJEBWH_<)\D9_.0Y"Q+46A0OE3?B%+;8[QLM!0MO
MYV8T- 0K^S]>3S<VT998GIU^7E]_ZKZKHE70ACA\F; IW:(D/!PSJ<+8QF85
M4URRZ2+&1X.P=S1AYU^ARGMO%CO5% T]R-0NKH1(DP L^4MFQ9O/42&$3$)7
MG&!58;;@/^2V__^J"/^#5]W:T*9SZ'!NZ%$HZ&D0"3#JZAYUEP3PK22RAS_>
M["0!6L=( ";"<-LYF&!^!A06[Y[?)6O[WSMJ?V^\%/OUE\M9D7U$8"4)L)%)
M MPP_OGW1!W>=NS$FW)=>3&*.W$IW^T&2WMS;5ID)YR#6&7Z]^D6\NS=!T@
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
M4G4Q%?63%"M1T]S,T/KVJ%Q%DUM#@AHD@#*$=Z#OIQV7BCC8UQ8/*@;KJT^
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
M]#1 ^1:*[:MN:5NAT,#IE9_I'HC :Y@3GL$^E:L__7D90U7'97:NTE,J )5
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
M>;S%_N47_>?%1_41&W?3E5C5I+E\RG-8L(7YFVQD5S3(49U=6,OC?-=@4,4
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
M<7%=Z[1YV6W]R3*_-.'Z6VF6G0V-O0Z2V]]K3MP ]F"XJ,#N#CH:1OW/M2)
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
M4I5LH:).>*]+/W0W8*.&KDL& 2X 0W<_.DMOZ@S!&)9;BQ;\KV0P%K6]$\E
M+6#S\*9AM%;?MO>T<<=MI&5?CF7JT[>PDJ] :SI@W!L^-?8+,0&ZW@4 <(:H
M')X;0&*RT0V@NKGS6-1DHD^I75V)L2"U<+IG.):Z.#^8%,Z_*&#V%[JSVY73
M-+<GT*_4XX?NU>8#4?O,I#[U/0,AB"SR(,J2J'VV7OZ93[!1+Q5WFQ1QGPJJ
MB9[@8=8#O,$*6GG+PU#=]NJBC>K[>_;<098#<;H6[A]#&+9S1*;6.^J;ZAH;
MXW6>M$_WA;C@_\+?EIFHA@C-7LF6OWEC7D'NGFM']W#D\MOBC[?WGLTE'H_Z
M!;]-D"W^617O;JN?EIOV,NE;>T*?(O[LLOHD0KNYKK$Y>C'C5#,SXHYC=];7
M'ZL'@;XT@U@KI$0MJO*1O,82JAL^JV+_TO>97B\SZYT<7$/LLWH>"N"H'>BI
M@--($CS+D*89=7!O.X1XFG)*+^Y%HO_ 4ZUF9O\? ^XO+12[%@5'C#"QZ&73
M%T'WO_L]7/BK3M"_6(JSFN>HTMDX]DG+B$&#:!B#QK>"8\<<7<O+KT.WK@,<
M:HI>Z*#^7A.D(RPP4\:7>O^2:+B$+X# EP7*R$I2B_N)M5AME<<YSF^T1$#/
M&GOO0350X$L>L,E6<?*V;[#VGJFQ*8XP<L(BXB..SGE)>!+QNJ&IMK'!A-2L
MJHC_B-3S';G,61'(BE2\G<2\9G*?=F$HT)-@1V@_DR7D5FO'%PZM(;6JV3WI
M%LPY_<5\N8(1W,I!=+$XH@';(A/-(O-Y1'M[N?BJA?;*SY4[)O?N[X)72ZI6
M>RR9IN685DC,7'GKFT["7:?,+9X=?DGENAH64:/'WS(7_;GUA/>ET6(E[#S[
M4]>TMV=JJF7QSWKCX.(K:0Q;K^:>JA&;'2Q>,^)Q0%:!-B)>"4 $EW$\V3%1
M>(+UKL"J7,PN74@-6TC%\W]Y4Z\<M95EQU92M8D":IAGC636#O'14 ><6[1F
MM=-LKJX(184L/KVG21,O1N[VJGH]Z\\ZVV.O9UL+1@ZAZ#1SS.,(Q[(W#>6(
MA<&),"!QO37MW<SU?I'V*+EXOI!FI;D_M_;][-JT86]X3##ZV*SZ'>XQK D6
M1Y;2ZTV5COJRFX O[5(B=8'_!B>"M:T L\Z2E*^ZR]>/KT=5FM>0Q;[SPEO#
M/]=E-B2.4Q'5JDEEK=#__&TW7B/Z2=7W_U]&$?(W8H5N -Q"JC> QN4+[IVH
M*L1*Y]7G=C8< KJ95F5N?-FNHWK.A+P!Q%$8GN?JZBK3G ^=_OB_I"X'K\<<
M0H0%!:#R40$X5K"1.V5ZQR_?=#%-A[8CHK$;@%31]4*.=P[(JC^7',*#X=2)
M'NA;HI]HT[>G.D]$@$PAQHGY4/#3Z"ZVP,V2K^2*YEC)%3:J^2W:P('W5Y+E
MIDY(8RU8QZ3 1GROH$2DX:?(KJ[^!1^:XMO,CRV\<P**RIZ$3KB/E;OC0NGV
MW8GK,C^?AYCXM59_47!YQK VNT>-E^N)O!8\,M32#I88"]:0!3Y-.E1[6&06
MP,"H]C+Q4^Q$OXGW!UUU9N*R#B+T-M9(D50PM(B";. .XG'\T]5+QMXF!'V$
M6U<^/DDL*3'\VSOI<<8K271:;_D3ERL+I"M=G\2G6G#E2:4"T^!$O(BAG1$
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
M5#\TJ)_V9G(VTR?#F*9%!^7/W^"!=>6>[>N=1'/3-^Y@3V%].589SO)T:7A
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
M6*P\V%]K"HWBDGXODN6U,A..]1@OGE:T67S,P^X_I.\#I5)ETV'V5#D*4:\
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
M_@P)!HW[59_2C:6;H2U1!IV*MW#T3KYK,C>GND1;ZA**:!(.4W_[Q&[+#?@
M<+\ K;($XJBJ;_QLGIE;FL"H#Y"-UO6?Y1]S&,"#>_9":-8"M/8XD&S*,QQ3
ME>TLLY %US9]Q,ZFWQ5[,[5)+>"8=^%?2GW\!6!! : IXO,(/X1:.6FJ3R_P
MY,?\?/@_$D']=UM  K%QTV"DXB5!.<6?==) -7+CYV )JEIG\DM^S'DG_#^1
M(.J)Z>_A],A_G@54E?O21'QV9$@+C,XDC9'-0>YHT8QBY='05;:8Z3-/M(%Q
MK+Z&/IE,A<=3U);4?1:]KVYN[F_?OL3:H7U"^+&B,T%\4+!%RLMXN9:PEK#F
M9[5"JGDV ,P=<P,,'VX(#NUH&79]-2.N(3N_BTY>DO(ZVJ=BK['J_JR;QLUL
M'<?:M!;CS5^&>F?M)S_WJ_$UEX$.7W54M5GO'=H/EF.5XO,S99#FA0NN&)ZJ
MB<VP=@/T(DJR%TRMZ$"F]6:97'P4_21C]+F99W?[@QBB;$3/W/QK_88^/( G
MXWGI@K^>1>=!QD5^NS22HL05N84C!:),GL]P83AAMX)DBYQDR%,^E[J?/GM'
MU<D@#^0[K/<,YWHCJT6!ZY6!OL.J%8*,P?L$*(\CD,F7S9:Z&?&?AWN'UE0N
M?D/"MW07;CRODHBSL+%K3\YOU>AR"QD;7CN?5VI'&V=?QQB?/]S1#TAQ MKU
M+3 D:[-]BI^]YSX1 VA!:9TVHU61P"[53IP *DXB8"=_D"O3UMX3[$[Z=> 3
M1T."2MPM)::.OKMG-)66&-4@R2F%6\M!VK4HY;;#-WO6_B[BL7Y<2=:Z=Q6L
M=45LJ$1://?-=1"4;Q5I%"BPABA8E]:[5WZ!W?KFPFE,B_;?%>[;0[)&J4/,
M=V4GB8162/KY]DFDY %K.+$@UXD0^9".'"9Q$\%KAYV,Q>_3+[B:\I:(1&9W
M'L@PK GE".0$F_CMMF0QQP PUV9,:]I^Y$U;YH1DBG]M46MX,*3L&P%7"3F4
MZ@%]PTEA@4AH LQF?CDJA!5=[8\\_N[+-8U@8S;<EJ2CZF2;IQ(@LRKGO=+)
MS9A6EWYB3_/0@IW3 .#>EG69F6DO;8[KZK,#VR8[)MK[=>2FV1\!=S+0W-W
MH[>-BKL]HWB UMA+DJF<>M7]S%4\(%21)H0-+>(ID+QS=@1^/="LN3$'J34Q
M8GG^F%IVPS$HFUIA<LE(Y0FE[E?T]@KH,$(GZ'&**2/P[2J%[20DT^C7*NO,
MK*^J6_3=03<1F(2*:)(Y+T;[JQ:\[E1'X''B?MO_8>^]HYK^NGSA+P+2N_2J
M@* TI2N04*2)B* 0 2$B*$U F@0(!%%!NH" @A"4)C52H[10@PV1#J$F$9">
MB&" 0&Z>F;GW^<V=Y[[KSLR==[WONOYQ_LAW[;5WSC[[[/W99Y_B$129Q\F^
M@)A_S85:D=(\* A1D?\%KO>14GZZ"SJ5ZJCY F7'MW/AO<6$1NR7?8A^DT8O
M$!G010.F!.8WL38"9?%P!:*O[WK0!74C]U#OP-ORGV(LO4Q[O!>3CP1+;3 8
M*$WZ$GD2P0#8&YS2G!8K1[Z,)I5=EA(F,]>T^;Z!10_8)>Z=3&CW,,^:N=_\
M4CT]UCYXJ'W@W[_*\E^T:B*X!4YJ,  3^M8;O?%I0L[F%93@+E?N^!XQ_Z2(
M2ODJ]&_A3,/Q +X/]Q-UC4_.WQ>52.;GBCKK:D5^.*^,Y(7;%\*&NT&*+22U
MM%^ZMQL:QU7\AE;.K7O(?/0-]O^N/"AD?U.]JDJ]B@N 4,@$#K4'8.YMA"#L
M:G>S/DAEQ//MH/+B_@DSN8+%995Y#76@7\+O7-1[B2,,3(OO4ZRN4^)):GUS
MW+?(PFG%E'BZO8BLFG>/7YE;UFX*OC[=5K75K5+O_#IZ4WLC.6/SKN[QG]P1
M5IL/#D]2'L]+'X,Y$\)2"\D&[55--, ]SWCPZ%.<QUO,\\R^%V5WGEK4ZBI/
M'#V.91/D3B/)]IX?3X%KH*@6E ?"*2=(;3TYS:!\]U>E+UB;O7+Y@@/W)R_5
MR059" =DQ[S7"TX&8 ./J"YD-':N'ID0?1K5\^/7YP/![<F0=2D#[OZJS=>U
MS>]-G;%>7UX$R)2Z>;UMN2Q:9Q- L'DBS:<?1>[NB.8E#2002?=34# A!-^*
MADE99UA@P(F!NXE^7RJN@3PYMBIKIO-?=$INQAX"-*#K^+Z!+YB#!J#;QP^*
MA.JE=U 3.^&(@/?O\T"0Y\$+!V4!<^)-G@M?F3$\5-[#;DHY/D 4X4>'"A/1
MW)E=T%O[JG-Z\)VA@Z+H+;3T'6Q_V>92F(B,E 8A ,>!I2,^*B,Y;MQU]!4Y
M&XUW@5H-:UK?BM*[6Y]BI-)C'1S@$Z-W8>O<"<&CIH8 IS=(F H?7X\^ PLV
M ITF0WL07+[:.4,^87M+,34A9U\/,(%"_"1*QYB\/-A.WXW:$%'X&OQP54KE
M("\$):G6*Q[E?NV==K1.1E?HOEBXQG*]DZE8MW*0QT9HAES6Y6\, *^O38?4
M44K.ZQ4R)NE0?@*&-DMDY)^8@MU6EG^9GK+U>>F#R.\NN9L%$X08_?UY=_@5
MRN3\)@_U,H:2%8COU^LYJ_W*%V^@8UZ7,8;[2I\FGI#<ZSC//+>4%P\?SSP5
M$%RD 6Q4&\+  V0]3TK[R3G8N /Y31V&+*%=(#Y2??=UHR\1=:-;8EWYBMQD
M>-!U46T&C75[]@=1E7A$1YHP7#K/^ENK 5E(EC1\.7]VO!N-X^^/9.)<(XRJ
M7>@(O^C,T2QTKY#K@+7L5?07 1PEH"^:>5S?H9D^B#1  %2BZ22PW&Z]_2@'
MS15XW+GW69Q]AJ4CPY,SRFSN:"9&X9[<LAX:$(-#QC2F\<$OT(!'6U;C5!,W
M_ STXKO!:C]9=&3?3_?<?KQ]*)O&28<[SYXI+#)Y()FW,0DT0$@_G-CRF0:(
MT\T=!NF*UFH?4@F94M$>71PI3!AL?;\0HB?+2M#ZV?7!XHZG/OM,_4$!U9G
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
M=:IKIHC<=#&[N/3TU'8^"S5>%;&:,9;RGZY4NPPAB'C,].'KQDH%2[H=Q-&
MX+W$L7\>U-?OZ5_"$=/@3R5O:A#$6>AOGI^%G&)_[7%9U:I0@?3@9J/5;O2
MFSM3C@[_NDJ=IMV7"2 SAJV#:?03\5 =\?$X>> @!H7YE;]RVA++;?5J]'&)
M&"4QI*0A%QI9^T)GG7E>','<2?BHM=XN7;"YQC<;E3J_&%4UI1T>V:PD090(
MK9*F^*(>S?W2H@$+YS=I0 I$=O\XQ=.<#.FPBK3VO5@[IG+U6H%][.&D@ND]
M@%.P$\ _&7A?(XX7?D ]5QX]AN0-B>QGM&H>\O-3%>-@6RN"G3@1>8_=#.+S
M5#2>\?TV2I10JZI9(@6-GI':V0:;IYIG=#6!'@?XS(J_6%;T%93+&!-?19FL
MIO' 8KM[G>2S424#.]7G?Q[7%+CK,1O_JALP)R@-A&[B(O'(N-#*&04[LMID
M(\>I7#;\/O/GM5!=624^EH)Y0IN2S7"U9IZ(<I6?6UW] V/3@ "15-V1$/;"
MFSQN4/;E]G,D3 P-\.9)$"XX3:+.GJC+75D1J9ZO2_Q17 #3:_K0P<T@*K'E
MHMMZ@;0BY.TRB8[T6X%-&V2Z!2<^+U/\>O%E>)'(NW)PQ)A?;W5K^D[\@VB9
M']+\#0ZCK3J(@Z*RJGZ&O(\9:OF&<FZC-F9TS8Z;0K7A9I2>7/,U4KL*)?#.
M(:]CJ-8CTY/( ''NB^_/XH?SBPK>'7E' X3@5RC$UU2#89#<QXIE!R>NP4>E
M3YO>_ SW/Y-QSFLK;IY: Z)T,!9_EF;W&;I\>=Q/167.P=OFL1)A8< LL$34
M>CC9QVIVT>$W5/GNU,_AM@;,1 CDB]1)"ID0Q=$'Y=A>&F%R92+;%W,%WQH;
M?(9^$>-H_J(^^EBSSNR2]XI2&%;ZF+Y]9?1PKG ,5:/B(-ZR\;'"V)%.SL<Q
M1\U<OB9#3BV@1!9H@-CXZDCCX$;.'/H#G@8XG$4G!25>%L@+NW^1>\C&)L%
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
MPE-4@' ()3?N"I)/E2W<+T#>@_3B7,N) 8\0#2QI5-/;I"DH6:NT)#B0TSK
M3S\P2X.%7^G)RS-ZD1';J :OBAZWF6B'DD^$C> %T8:@1B=!Q8JGE5(.>;Y6
M<Z&>WW81Q,NU!%3R7'U;3U]'!#:I,L554^Q<K..&F);HUOW=BU/1MT ;NJM.
M4&%]I>H5:)UT?(.O@=3A*B3)9FC(&B0.B7SD8=']4$3\P0V)9+IS^[&B=.KF
M[N[+DC#%GW][R+*<+-"]S_JML$C,/NHU) #=$A;FIS.]F]8'9MM6$X[^<"CY
MUD5U&6[Y>K(SE"O3^>V[Z:*[Z6O[4XD9]XER;PC5T1^CF<E,$>BDUF#"^OG?
M-N.AEH\; E=X&^QVW;G7&V/N"KQEI &75I=/*Z:RLU?YS.$=]AO>K01JGRP]
MTLZ8Y53\$C5Z2DM!\#O._",-X&@5)DB""<@^\99JEJM-C2/N(Z;/MAP_) 0W
MA[/OWH7P/#42#WXY[KXO2/&\3D)U]3L,.PVA&B++QFYGW<0TP22?=@*<@AUR
MMRT&:E&(UXG7=8=>WBD8IYI(]V0%4B+>A5^UO+83Y5K0[QAU8).E;X+'B%(Y
M*+LUL#EC4O52<@A7A Y_9UGLL-E7^PG>BB^LH1_T+$X'OOR5B0=WSPG#T 2;
MY'8%2MD%I%'DYU.%M<-WF"XY%O'50,3?UA:Z&LJ]?- ;96-ZL:/W,G4@2V_J
MR]B-JT[7PWC<!>T[KX9JM<0V9;?5K&7>']GMVY$GU:#Q8&98'%> .69P*><*
M)-7 >'3>$ZIB9GA/76.VM1*/[,8(7H^F1Z-CFI^1G*M"N*SO3:6XK[YL#MX=
MH0JW!#^[MS-']9FJO3'/X%VD7,LY9/(];(+L?9456,M:O?P,US(X%&89L0V"
MCNA+H\!KNLWL/W*3? NNF>R?<;+P#])B#M*O\M_'Z%Q^.4I/[JQNY.W()AFG
MF8W(C?66U.5K^7GHG!-.KY5RU?%05"@SRMUS3<24FV,FOM.#;+"J?%5N=+\W
M=&KC]_#,K^&H@:?1)ZC<9.G$:#:X^DC(C.B&UAR/8X7+C]^!SS(LOHZ==K_K
M$?L2Q10/BD510"I@5[)0@@>RO@&GG!+,VS*"\G-2],NY-W="*-F_3RYX=WST
MU[4HX]/PP2C4Z\B(M1 :4)VU%!]R>KCMY;33,Z+__2F;;$O+D[\PW^&]\U#6
MU29$DWEB8_DO%S,N,2]Y/A]U)XNFC8L7 $=67(14?&UY XK--_UP*O=K\YYV
M8;-<=F)YN595[&3:!.$&V]F&_([4-B/!7VV"OLS',MJ'Z"@B)M@JP??BU9QZ
MUVT>MY8IF\AQ$^)<?#UL:Q[<*RUIB.'1"N#'^:()%C5K@SW''2P=I;^P?HZM
M>_DP]BS4S=;4+_[5-NS=*9>0G_I?B%J.;1;C^?+LV1>M=38=Y?+SZNI<0&ZF
MQR".\W]#;*(X86HXYB 4L>2DE?\*T9=' \8AAZ%_@76PI?7'I-E-0M_:.'&
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
MR"8E$?4!!<7;*!ZVF/W_30!02P,$%     @ ]HA66':I6Q\X-0$ K\4! !0
M  !Q;'ES+3(P,C,Q,C,Q7V<R+FIP9^R]!UA4V[(@O,D*(B @F59!08(@03(M
M<D@B225(:B4(B(B(9.@F2$X* @)*HZ H"$B6($U&0"1)3@U-$FCH)C0-G::]
M\\\<[YQS9MZ[][UY=[[?S5?]+?:NHE:MM:I6U:K:#66,@@38+^L:Z (TM#3
M3>H/0-D CFHY>3HX \X ]:*A3 +: "W-C^O')^V/BY[NQR<#/3T=/2,#(^/?
M@.GP(2HP,3(>8CETF/G'16T=86$^\N.7'W_DOY/2,M#1,3 S,3(Q_[LO2A/
M<8@63]]-1W,*H.6@H>.@H;0!(&H?&?[6/1K@_[MH:.GH&1B9J-U@H2)4L5.[
M3T='[30#M<?4IR'4YP ]!\.QD^>U&#G-;C&=\N*2"WOR\I#(I;)F[JL#&%%Y
MAP?AAYF/\_#R\9\^(R9^5D)!\8*2LHJJ]F\ZNGKZ!I>O73>WL+2Z8>WHY'S;
MQ=7MCO=#'U\__X# B$>14=$QL7$IJ4_3TC.>96:]RLM__:;@[;O"\HK*JNJ:
MC[5U+:UM[1V=G[NZ!X>^#8^,CHU/S,VC%A:7EE>^KV*WMG=V<7OX_8,?<M$
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
M'CSC/NY%)A4Z;T4W!MKE=5.%<KF/,4S1"+%=&ZDBVF!A<^!03]1@@S=6K?5
M\5L3;W&5T6V6 %[A1Y(?E/>^VT*:/$"X2UC-REDNA(N'?,M:<+JTFY=,M(.-
M11*/LT/YY)OI_&??PE<$DMBLEZ"*=V ?/%LT(&T@3(T"F,VHU/U\U<9K]X "
MQ472^&/V5W+-F?()XE<+/S(MKET4QKH$N+VUUH'=\A'$&/'ZWZ:NXSA=[;."
M['I>MEM$%[PF69("/.+6E/"_OV;OF49*47RK.;3D(J#^B5 #JT@@6/9"V1KQ
MJ00U"M L6V7G9UJ?U6?F[F:CJW5?V(8EJ"<_3DHNA_?PE0C!=_?:V%4I #_Y
M,XQ1H6]LB="*TZ0=$AFNW#RDL:,Z/Y[;H(2=S Q&75!:S!=,0+E-#M&&:H8/
M5X5(:@W='E'L-9[I_CK-,F5G]Z6L\Q@%",B,8=;H=?:7F4]N-8F9=\00YH_&
MEH0\2ZYD%;D>AVS/R6ZH5O.>U'!?_$PT#R 8SI+[X"Q$V/V].OOBEU/N]N(U
M:5UVE]WU+W<N)<]?$[UG)7QT>T6RZ!_,;W)O,1%Y4&33<<(EV#@XFP+HZ4 @
MHY]!&$CROK8+^C#5H),]24+<0 @-08SJE;\G*OS8(/)@WX\HSHYFD+MSI#!3
MX/*]5E?GD9,6)L#*:K?)):F7\_6;^"O!YRF UEOP9B$P^*H"-G<>TTEBS*4
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
MZ6,S:CTVN3S'3@'%-4>T.@)A/O=I=HI_>)O!812 @>HC/+T [8?C3)8HP,"
MY>CN'WV!BZ"+T"X*L.4.9@6OPU=F#[19_787J;M]0;RZ$MOZ)\P$GT^,>6J3
MJFIY:G^\N'\)X5^CU.<7U2^J_Y>HBGH0;IX3R<VS%9W1N"DNQ.C&O)C1P*"Q
MB>>%JYH+-\E2NDP/9,%NFY-J+1#&AU']ZGSJ_#6Q&XZD]@]=<5\XVE)0[S;8
M'P0A'P0/X>Z2GG-V0$7 PF"WZ;N0.TK>+/%&PJ0:^1I,U_WSH4P"MU8 /H"U
M:AM/_/K)>I,A=*1@(F,\?(-(D,$["&;[QO(T>8[G=<(J2^/UT'0$0]L^Z<B>
MPPKH<[8OZR\^B/ DEM<(/7U "A2L&4U/3\\*R;<X?KRLF?[\HRA>4PG=W)OB
M=*$ DN8Z4X+ZN5R)-5E %7#[N<*V7KI'W+DR*ZD\O3QUQJ2>Q([BYOS+@?ET
M*O%?L4SXOY"J#PN)?,@F@'^PW0(].R32,+2)/&]GTZWL _X<$7YH@?W0PK6_
M('XMWN'EE5)W,]C;T0<%QXL5=."&-GN_OD9Z!%XIHH'+G?!J\.5L?\[1Y+/S
M61+G$KU+XFFW/ET:JZ[V3B? ,8BVU]V;Q=E)EX\>%FTV6"L3/\.#OX$M:!J%
MTF.A+^FT[BO93(D=]-P(57/63N)UP=)'-"MN*ZWO8K/;(.4R;6O)8>#C530R
M427W_&[<D3!(&BO;OR<"WJ9N+HFPR'+_DV'[=QYD')U/XT/@W! ^%$ 4KD<:
M':J9^4)FNA<]<=W"VG^HI?Q$BH;O=%J4>803QYKQSX6$A0K_#RCY/V@:%C8G
MP:B,&*@8OH5M_!JRD5"?7?0ZVB9]'#'2]9P$O[\2FS@H',&KS-RT!ZOF04->
M$T4Q9ICE,$6K)>R%4CY#W7AXV6_^;GT$N\>!"UM<$<F$8\&<F,T6")M2&TP8
MTC9S=N355(_:,9SL^>D*,;*UTI'EMW-!@L01%_L2YSAR;ZN:]*K!P^2M4A4H
M1.TWN/RB7B&Y#T87K(%AF5M$1%0FIMHUGAFN CZZ%X6K>#H+<?G2?4L)ROH+
M@1K#(YFM[IQ_;61]WD*_\OU?Z_>W?U1%[I:WTQLI#$J<.NOBJ\S,=-7DU@T*
M\'M]+*:&R%6 FQAM/.4?"79('@]?,M*^.KQ\''KFF\)>L\.4 !<4X.W*W ),
M39\'A 9FZIK']&+C$C6.;Z5.G+>I6;F_Q'MP RHTG%/JE([>T5^@ .[@9 @'
M&)D/![VG $[@\9SOR8^D9)16Z^HX%^QYQY@:GB;O^\:#ZR$H![;3>2Q[T>M8
M#%T3J +<\@D\9]):+Y1>[=ZXNJ$C[+/;2K-D<E;(+D:XB<$L--?R.;051D6;
M'=N;N^H/9;W3O==6]RI_YLR(*6CV,A-[A_[G*/7'>0DI7RY*AZ'AO\NXXI)9
M(ERLO(@7DMW!;:KX//\4Z&M7;1M@3_O^M)2]I/40!>BRU"\=/?#\RX77>!?W
M?]?V_LF15]K>SY7%P1Q4I]5KI++8!K=!BK T;C2("X;6GV/?^9IY&H ^^N<B
M*/L0;! N'>^"D;&K&(2*GRDN&(=89SJ.<NJG!YV^V7[%&,LH03K*C*(7',T=
M86L'14^XM'M&UR%:$UU,ZZHJ1^[FC"P%G3&3$/&9L.)X[O59PY5N&034A&F>
M@TY A?!5!%F\_?QDZX'OD\ <12QK=>KIM/3\0=V>(UIVUWH?JUB(>2I?2_W
MWTEZ20'N@")!/)KR]D1Z?"J6NT$&*7-DE@LK04J?*PG6]N-Z)&"^99;@N[*V
M?;[9@5&-8W<CH\#&]<"Y.O7VH:@1^J@3@6AS9K#6M7ZF++P252:&]\'GOC5X
M8/IL/;1;R<?CE,^A!A_&-E<E,#"_XTBT*BPYRB4HKIE&7<A5(#08 T)U-FN8
MS+&UV.DTN,R;<(C>=YW0?/'ZZZ">S+/\*^T#OVF=?Y["-I>B^>KMR_**FK3E
MFLHXI:=+>OI-YT(^KUT$R1&=^G<WQ_?:X0Q0%7PA2S9)OGE"TM5>H;$J]LV%
MM=.%;>>LQ*5,59[$=CH+IM.^QNZUP0Y#1Q&"4$%_;605,6LD>4Z&0RRFP:BX
MU?V4C?4SQIO106^G-L8%]-[N>"",V'FY;ST.C#";F+"V:L<%25K-)0@^BJ5-
M(#$ !G^+N?_7I(GY+NG/XAU3ID_0[N/'I0G2P8JWRV-2D:R\*8Z"U+76:D<!
M?JJ"L57ZD^S*OV"USB^J7U3_"E00#?((J&HF%3/OIGD\6*2LYEO#C?LMAYVC
MIB[7!2G17 H-[BKW-[ZHX;UG#$'K$!Q7:U2[\'P$E4P?5M\M2/GT:IW_C(-W
M<]2LD--:IJJ8\G+:ZH\OHAE#7<8K,OOO=<Y+Z[77,-O6"V&_$^H*.??R5=3R
M#R)1IQL]N9/;ELQGV&1\#5'O!C7--F5ZL*8+"VA.-MPU4@*HU3(6"T.]ATUH
MBM;"*FW<]CR6XI4<X7)7O1OOD5J":B1W7/Y.7OM&.IJHG@^K:=P%EL.-Z%UG
MT5>5?U5S*UGI]*]9,_V7),'[!#=8LRZ9%]J9E5804:*NXC-OPFDWR0)?CS=\
M_>,H]*2]6UQU2YM0(7<2HS$-/;S,D\CE.1>-CGXW[:\ZVYJA*8!5?%U62_Y<
M7W<#5?N(G6_NJ<2FA/[4Z^O(!2=&$9"GWD20VFH@=>;X.G&>HZ1X'*3WS30Z
M:/+KB&;$7XVCX^>_&F)QVK\JG0S]YT@DOU( -_!X?0L% #4<.I#48L@I=>4W
M$KC*$>J0"O+"R#G>!?3N'5I@WBF4%-053CKWZ.VP94*EJ]&9]WVI",>^9&MX
M*-'T;]F[3O>3;C!G+YS'\=5=73."C;QPH>X1C_YPKF/,EL.PWP??OP"=1I!L
MQM:TSF(R\1>F3V'MTXYZC!O/UK0U[$L%R2[D^:H+']7U6[<D7.O#2C013^,S
M'O3C2PVT!:_:L9;"^.\_8--\X'A$];$2+$B8$1)3G#9O81?G9X+W#K'<0BCB
M2://:GBZ^X+_:IB_&_Y?'^9_9&8>XU%8DV8(+5EX&K_6YOM8)2' ]_BMZQK3
MS4Q.[IUEHCA3D[N6EB7N6291E>ZE[&L3CWRK+4P51BWE+QQ7,$OIQ)0F%,]C
M+8E< K@P)?GB7GA8@^88G?)9&@T-]?VX;=*P$.X(?K_145U41#?\TYTL'>@#
MJ.'!ZI77'C47$$[@\,83>"R6\<>7[/3>$PLKY3<2'M3'"FZ?;;I?D&]V4R)I
M';'^G.3YN[I=4T@4N=*O4.3!IE.6-/+U*T/4R QWBQY_@D38&"#1ZYFVV-]S
M?Z97K6OMK,_3G$UB^/G%W_Y*HP-/_P=;:?]H] #AMK\-3@-O<3 9P-,H/FP^
MA_F:A"97FZKD7%1A[WQL0V@K#%=R>HC$/$N GE$.Y&C(7\_8':I?2?#BC5.V
MEBLRGY#T[D4@WX!K6)/7M^=>8ASG0*G@9*(6H!/D&M'XY!X%$,\ 8*70)Z5F
M>WTZK([DPT4$NF:"&OX*T1I?\^9T7[(/7LE0J/_HPWB__8;'QK#@:2=//( \
M[ZE) <+=H!W0LUA$' 2W1"IH0.O9C9QCW8OR\#G=LW%/AQ@7*'CSTD>:ZTQT
MI!L@_]&AV_@&3;.( %UF2]@6SAUM$))&&B.#0XA7$&PVLFU2K<>*J<,R3^XF
MNU#]O9+T:(*:"06 \\(V^_-^;[Y[6_I8\]%?/<L]!*NHI #[V&@RB1G\>S,K
M#OC/(L&SD9GW/3R9T-0XZ)GT@#R6O*G&?H0"M)5<)M'^)Z2._BR+_F]WH?M!
MY3!B5E^K"4'L0(G\N-6.=/\/=_ZW!1#_\6!Z)^M-]BNWBC7^=N*%ZO0!A0P>
MI6/T^OU'TAW\@:,[V09V85+E[9Z<)NJ%,7$WIB=I+JX:K$LN("9$<$586$<I
M)P5HU21_,3/QPW7*0E9Q+JP/5%7;9IL/\4V?%1%1/AEPMR\! 8**0D?)"F!:
MF$N1 :H_,^:;(N,T:"*/B56T.*$36$<$X#^+/@)=@E(WEPJ_<)@+_ C,Q?5)
M_">+12;<FS*IFP;WIWU+]T287B6_ZUIJ=*B6Y,P9]@\6\'I5F6:R1%X'6QYX
M9M\+E$Y('O?#&6-*U_?S6(VWN[\%&_D<EZDR@DN=V(T3W'JW&EAS+2Q2N%:'
M>X?7]@R(0<LL3T '!@EP$WT?'B=>$A;YIZ5&"=V%-YX!C 9BKX.G"?H4H/DJ
M[#8X%.0ZH/#B(;ZSC<,95MZ@(==@IHR6[CM?H$)_;H^I\)MQ_MFBKC%TT^+8
M>G=-><N0=T;*Y/!Z1G;_P>4&$=P3JO8F0+_ *R#P?/<<&?XEQ%%+,L<F&_?'
M3-"@Y><D04$G-<;.DT;!.61U*FHFE:F^[:0_R A&BS^VCIQJ%4V_D-+FOU]R
M2'X:V\R1&%T7MP<9KR<?9B.H!0O+^D?,^WL*K7G-)>.>GU3 9Y.R;^JG#NV]
M1^Y.5/6BURP&G]ZM1PR C$C1J4XS. ](ECO9[NKPP64;O5[/<3@<5"660!8G
M#X,XJC8G:AO9W?GOA;WK8ZB;:O=0;']1DTI[J2P;+FU:QK&AH2(65T;@"+XZ
M2 %N@R8<FRD OZ:XZ\2GZG"$N[8W0QYT2\5C(?1S;MC2*X6P9^=,>CJ,:4CO
MR\O*AZ3FARHGE8O1R 1162W>WQ(O-IF;-0&^W)W!P:2<1F[R8",-?&ZYW?/H
M:W3>8O&]:RQ>SN=DST1=.98$9M<[<DA44)CVCOW Y:W9>P7U)FU'A*Z(?9.8
M"W!5[-KXBKXT56=W9W#-.P_CE] @B65J/6XOC]&+D?8QDC0+-72&.8O[+VI/
M<<RJT/O0L]_7<1M=TFXG7*<.,HA\>K^,+_@&IL;JT[):^HQ#2" I95U\K?LS
M#QY'A,/(?12@TJ2E=,*QR91X"7]MGKN^^J[T8OY'FVP^KU2N@86GM_!1@N]$
M&.M61LU!4FGY=:"3SQ<X>UX*6@A#1]G 4>Y;*02Y7>)&AI<.EZ76=O,?3,EY
M\@2LXD))#0J7A#]7/N%>YUC\M8CA<6M/Q1-O7M#6@-<VVSR=AM;TSJ)0X.C1
M6Z$O,V^]X,]YMVN2=\G-0-B$( X=4M5#'T;VUO1R(V)VQH9]@KB1X%OJCH2$
MP.0Y=>$+J6O<V#VT!L:P'5:AUZ8,=BL-X\@.HO%&F)?%'DX:GIH+,QLY+!\.
MCDSF[4:M;(:!!8(EL<M-%F1YS%2XBG_RU0\N7]*]P[J5WFX43['[J]#U=9?M
MDO*:4 K%1S^)":= 2HD:;Z37]]14Q5]]FF_YX\L;RYN3$;@L^-R;1PAF39"=
M/#[/)D8TV2/U]%.VK05'N.*!N&!8.A+=)ZPFH"W3TOW)\A5A<B4CF_..Q#(=
MP9)HCP6C!; 71G&V>&D9N&M-F&+0QV?[WE^BI6NCB67Q]*G3T0#:EG068S/'
M%J5Y*!A<@0%%B71?K-_8R+R_=^VQ4O?,,B_=!\"WA 6G0,J\B>=$(M"SQZSS
M_.%6L3:FWN$>IU:K5T,^GM.S0#W.':VTS'YZLZBV!Q0/^00W64C6+QTE"SXK
MJ)\2?Q6W%_][6?![N)#_<@N,51WT%D_H5)U2]7WRVKJJG81NO>6H0S(0 \2[
M1$-I1)G?=EQ+23"?'&>^FN"P,)VB@IB0QT5@F-:[,$6F^&+LT3V/JE?K%>6)
MH5D'BV%;R!CA]VW"@1)1CBU9^&LX;3P-EH7,K(A=W<:UD@JDX_'&7[=OI^8K
M:^JLZ78ZYU^&+4Z([/41*X,C4IQ$9(PK\"^INU $Z9W-]6_I>[KX&W,JU84N
MC+R'OS8/&TT1'G0^X4^:NP[^KO>HX?0<@@;OT-J<PS:0.[3S26Y8>EVJ./6.
M]K$$!M!\@%AJ;\AK-[U'F'./0 0[\TU%"G#NAZNPO7H0\F6_\,X-\EGS%*HG
M%;%GN=WE S4L(*HJB"0IYUF]NEB8RV#."QQM28^3G#=YPRQ>V@/"2\F@^;!@
M&](KS_]>2*/)A]E-^[M"&N#G0IHC.C[1!5^&^_RBRR6FM)^1+)X_O?L\.W!<
M4KJROM[.[."%#M2*JKS""->^V ,Q-+<CYC@*TH# ],7<+4G&^7SI%?65UZ;[
M6J%[F#3SF_,A7M8&IV-%R=]697=1,05?TB)B'DA,:3P+L<A_6O(TU=I.K;A.
MK6"8NA?8Y+#_JGC^Y\$,"XH-!L^Q'D>U0<^.>.P06*Y/>_GYB/^F-902E!K*
M=%6?MM2R!XRY;E/L"V;$7QT<62C)/I?WP/,46^*VA-A3_<U0YX/;#<11_JWU
MQC<G=3<D/2TRUM[)!1<NEZQ0@*J]]?%2[0#-%U@7X_9'K-)-M08W'8I&;Z9Q
M?0Y)%<5Q;Q<DDD\%VY(:U:%0 >+YZNS+&(^GW7M^G+1<;]6-[NO-.";DG]A=
M+KNU#8G>D39I.T##HQ5L+',VR-^ET2\3G.KK&0#H&<15*'^P',:E!7S8!B_3
M-'')^D:37.?[5$V5%-W5KUY=!S2A $@LPU'^J$1\P8VW5Y/;>QXNAN05KU>.
M0O!\[=UOEOR:(>'"C'B..7I,0834_=ZH1L13.L6%T) ]< [7_;R"!T%4Y?B8
MIYLNG%)@9"WIE)CRP4R'._</P\EM:3.J &%UN[8V(S(B_9 @8/4E0ZFFAH7+
M-'?UR_I%LPVCX%B"+JS94?,0427%\T@PRZ S]FO5QXX,K_1HX\0#MAF.1FC0
M*?2]OAO?BHU3&J:3#:6[Y:4F2BM:KCX(@>BLSL0O]7VXMX&^*^W4V%B;Q'OK
MTE:O9.1U4SFKU"; 3W$+@1;YD5D@/8<>"<G3PGO+^Z_9)DLN?N>,+(M%3-:=
MB*( U5JDP]S($7C%*)$KE<Q\VD>X HMJ]_87:ZY03I%6W6"JCK_]X(@%LW:W
MGNGV!R1F^76(&4$)UJP$O@T>1ZP?=&3/@?'Z/OC[LY/D4^8Y^E-^4>H!]Y$[
M$O5-R+(2F'M,,5&Q^X<+HTW*;*T]4QOIZ6D.ZZGSG+:_"E]*?[MO]B.)PD"U
M4N$ILMEM-8E("(W=\WVYOWE-(:>Z<K9%'ML^ZQ+D+LV'W=[$G_9<[\'PK!_,
MQB@XHHR@4DJXC)B3%N%B0O/52XK+]#PS33NW((8#ED>DE7NR[+<WODKY<=_F
MC0-;MKR^E+PU-$@NGVXDB(W]]ELBO5>NN5FDJ2RP\_I5W'=-IQ\O8W[%^CU2
MET'-LMKCU3JR6$O>O5YEY_6\*W.+3?!S$#M,-C"<1C".N($G$$#$8&J/?8,O
M9N"R2$D^19-]S!V&JQ/:&R_6D5^M)6,HP.+\Y* ) G15"R)+?G)5533&\8FV
MY!&Y)X]U'*T?N9_KO4L0'C'*<2@/J.(JN&QM?&Q$#I*W3@$47\[-EB6C9S&E
MN";,6+1AFD(R]WB3@ 5F^$M371)-^G'4UWB-INX%1KH3\ >ED13@[BS^C$7]
M2__'Y$%XF6"%*U1D:%DI0UA@<''+[V.7W#A':/*H;,@(?63GU+T*'#4$",]>
M@?-OY.*E"5JB]L+8]6,AZ6>7DS]'F*<9#]8;J\<G)/ FT2E--:LQ7E_KYL3Y
M5(: ]"@ _:[\D626A):&5K%[US,ZF;!#NYO"?=5[%2ZC3\UT?."G_M=P1?N=
M6QVTK* O?[7:S'9BJF7 UN9+6,IOMZ(LF,(/*;<'WT(AF/&S.%K\$$\;F+9=
M<3-\-[.AUN-&U]5,T4G](-6M@=I5)MAS4)6[2">4$=/7!C\\@Y=L/[@S[;:'
M>;8<6Y<T]Y0"L)QM9BH#1E.S%A&0-P5&6\-1'S)<QO<U\[N5.)LTU3&=;7V'
MQOUGFP_BIJT@;<)B0M=WQ%OQ-XRUA&**X_ %S=#36 21DX"ZWDB/S4^=]9>T
MSOX2MVB:YO29=I')C?V6D]8WFM$%11PTH]!M8B:;L2S?OMW;W8>YQ\.+)<J
M(\K\:5)N1);<^YZUG2F)<]8?!KW6":5B_2*2KP*I/I5#^.^^E%([61I# <+4
MY8-0;%RK9]T*ON.6W-_-XJ_[TM6* 31=HC1=[Y[F':HU&#^A IZ01W6$$<!$
M-7A[8%+7YO(75<T<F^Q,;$?0(TA#YP?4.P"?O'X- X)@EV/?D JA<IOUC8T?
MW7:4-S(R'@3428ZQU?.N )\!>L4>/%-KSEE2(U1C*E@;^Z)R9(:E?_$P]TL'
MGAZFLW?S??SF\F_U"SHY2Z)9;&QL!*S6[Q8/\MY*$#W_6Y@YUQ$&X#X@Z-#H
M<IC/Y>-PPEN$MQ$9#9,G^QW 6F<5-^MW1%_%2:ZR_NPV,MI.38Y/=OGYJ>IP
MZ=O?<+I9&,=H((H!!)<05"5WFTV$<2"0!;!*#?AZ*4'53AW*-%CRI2ZJN*HA
M&RXU;_B=NKU*75..!2<^$W[_4G43+TX!T&$HMH09M60<.RD]>%K/]-L&N7T^
MJ%=C/\=DODQ/4.H.C;SF?=HT48;'H#<(A^1Q.FIL4T8!6OP;3K\)L,S"Y1Z#
M'5N[_$S).ZSEK'I,ZFFSD!Z.=$7<,_[K']WI!%O92V.R2-\@XY#M+4,*8  9
MW&\P-UBV*GCT"JTKLY=B!]F2&3U .&-XD"ZA8!>9R //%G@TO^>36[>$G3.;
MY*:_>C4&6(4L.\B97 1, >!H1YPD:G6XR/Y]X76_5#^/C4G-J!?*5\,?<:<,
MG'CU#A_1QL\3J6!8>@P/MZH>VB'P6KOWK(V/*.<FZAK*GZ>YN*NX3P$(!E0O
M29LL"QV&7O <S\:Q#/B</?7I=MQV6_IGA]JZ9.7;B=D@IU"7S&=%@LFU [7N
MEI'<)20>BZ  78/$KW>J+@\\\GFZF.]07W/@N?5M%S$9368.0B+&#PR3(^&,
MCC58I:07"4?+4D^_R3B).H:F #;G_-G?(4GSLMP-,G-PXK$BU![ZFLM;XGU2
M4:/4[(KPR5'?7A=/GYOG2D)1K.K._9=>WB]B?GS]IE"V[V@_X@,%(')JSRVO
MMW,CVMAB6#WG(4)RT:J/GFQ4#_'NVCC?2IE.^*($FCMTF&F5N=GTA5\O9*$^
M<#]GUY9P^+'VZKA8.ZY(H?;U(M?&4QBXG8@F'*>*KZ+YXPC_Q6B"!U'/^V]'
M^/^CFMG5@"&%-^+G:N;85W&KD<I7DZ7,GVQ]7(?*R[?5X=_5&NW", J&7=2]
MV,+K[PX,@FFH>TX8!4A%D\(1ZXAI"O"]Y#*!_*?_TP (H0#4>(_1Y6>WT/(M
M_B>7$?"%' 4O@-]!P0=\)=T?9W_^K^Y_ZF?]<U6J37^XM?-O? _IGX7@:<(5
MZ!2'OR^)S$VD3W 7%LDQJ>AZ:Z.WK.=Q4GG\6,+^X/)J(:SA =-Q-=F6Q6\:
MQ2[. SZ>Y796V6;6+V;18@0K?QY<\!!_AZZ189M\>[8&/Y^LI8;HL^1=MX.:
M6]^2C^+-",K!EJ3B!G-01^D$^'I=S4!^JY5;Z_E/;3<^ZZ>2K;3(HS/W\DH.
MUBC [=FQ<!L-,Z@T>>"J$ 12FX'F^.[W8+_K2#1<SE<TUHD:Y:1!<$D72+(
M'6 9;T@7__6.!'ZWQ\B='_:>@)#!*\6KW/G*0UVV0_^-O?<.:ZKK]D6CJ/2J
M="0("$JU(4A)1$5 1 2DB1 5Z;T70Z(@O80B1$&)B(B $#I20Z\"TJ4&"$6!
M0$()@11.WF_?>[YW/_M[]SU[[^?LY]Q[OS_6/V1-UIICC#G&;\PUQV\0+L^;
MET%OSAE%!:1;3.D95*=;+<;SAI?TX,NE$$@Q,0M_'?Z=!T[W6UM37C^P>)8"
M>>E\]@_,]^5?9\U-Y 2BP?Q "Y"S>V$S9E9EN$)178ES+->O--+-T26\MW2]
M@%4K @HAUM'9194:BN MU;0$D* M.=6\UI?S<]$7RSLMMW?#AL"S^IT2-7=Y
M>W@M1]%W$&V'@.^[6_5Q5_K/TOL,OQ4M[L3NI@XO89))*W%4YWGNJ(-C=#GB
M0,SZE="K$[[>\'R;3Q=E1]^]1&F/C'<< BJ8J0+631DJVT%2I$<$P\YX_[>?
MMMQW-7J#I<HOB3,C>8ZZAF==I)2$A+F^(D113T:1.FCH73)("C:%$D179%Z:
MFA_BR%>9/+/XU2OO0.N-U \!YDT9UW74Q"& I$7+PCBX'H^:-VI=LWZ.$Y_8
MK6M>P1JNO<U,8Z[]/,K04NERNP790FYCCX+P79V^F+P6C1HK0)<SNSCO]P9#
M&T1 2H/PI_"I/=+&Z <B N]*%%]KF05>8G7?B6MKBVZH+V3I^20+5-K72\T^
M4[B&F1@@<=$R&/]7;:&!(/@RIVXLQ[BN+61,R5-_PSB:G7M(Y>Y>W_/3_+F:
M*G*>F8$S61[V;1-93PQ^ZA3XA=Q@3[^Z785>R4MB*.\'E/!O4K?OP&H(]:1G
M$[:2_^LA@ <*<*\'XW[:36>$%4^%WOVR;[)XKLL#<!)@Z<7R&  T&C0V>2?7
MF6YPLT[IN_=;\_-/+PPOI5 M'&K14MM[)$.&.XFCWJ:AJ(Z' (YJ2M $Q/*1
M\Y9B)3*FDE]1I>17V%(D])=>QU2$;+R 0EX(C6(7:I\_P8!.U<F/K*=OE6E[
M'WLY=.M)FOV3YF,\VF(B6YC)7I(J69]B0[Y,8>X, #X;+;+S7/?DG;P-&G[:
M^0X^K-=-&2QM7F6K$H*:$JIQ6+PB [L5D!&"S=R3HKJUXXWB,W<[#>JJGJZ)
M/6]T_OK)S:]+V:WM\;N$NFI5R7Q3MGT75W%$=?ZNF=<U^*EA_RUR05#:UWRW
MO-D'5$HG_30=.6@)X83)D+EQS.$*C1+4JT25*O0G%][-JOI**,+_<; N<]A7
MIO-S+UP#ZDP-;8#\:O=>3\M\'4O0$GFB<\I4XL_<)[C&:U!^0EXG_,BC(/DV
MXC%?2A^(=O*253]SK^1!8OOS,%TQWNW ]0%B7CN\;*_-F:%S1.+0FRL#%?BA
MS24?N\I L+P\<#\PM1C^,J8?Y!8:86M&,8?UJ:OBV>?*T@OYJZ/]%AT&-W\^
M5O4]%D5)6*/*)D\#V55ZU]23.^9VBKC>RXJ7PO.HEXVE]ZRS"EBD) 8A%V#M
MF(K&<N=\U$0YSM3 N>AWBJB-Y,+._.)$Y\0C%.X1-(H<=?KZS XM<&DB@J.7
MH]!TQ[4@U%1.4?\18TX;?RL*Y0-TJS'EHQ/@3N 8\7.TTL9+$_0!"(M2M9.
MH X:/2QS_BV7=(V/>KNX5SCYS:*C#ZZ25H-QPNOJ)X =T1%E^MX+G$[2ZJE6
M2Y_"KET0.-Y)K4B5TFI!D5Z*OZ3(T/M% M<I<_QA=+4E(M?G0J7*@&\:]T"6
M/(< [TO!=!GI@R/;0@>I_=X(Y8_X>^#VE$/ D& FPU\>[0?6KP=@.4"B07;S
MLF$*T./SHD9R0QT*GH]5OZ^DIPT$V'53(P%'JW]];$QA0);/V<>?51AT-3!0
M;.'?RZN2P7.?,=4) TWX4] C9,60/7$0\9B!6-G/L"WG"P8M:>P#D]+]4L8]
MX1A$:F V?193A6:DF7:;$<M;@Q_JB0&EHNWS#6?[;\^W/NIAEI3NPI&GV"[V
M*D<Q(OYE\%,TG\LD#C8%KJ@=^!*$M'Z+KM=PS4\8TEWV)>UK'P+2X[DWQC\J
M?S]Q!W]0CU1N?7(!??4[_^_V2=Y# "KU$+!H85%=_(7@JV #U8%_>0)LI)^'
M2\/[=NAO?Z$(AHB?ZE.D)X0GY%2B9+<LD83QX,3IW7PO-U."=3#?6)SK:LT_
M<OO&4N.GC[$$7X[6DQE/EV**-\^']I;9&F2OSA%>7U +&OST%8E;IOZT.$ZY
MP4BY6,$.0*9N'#J6+F5MF;A46A+%[0\_)[PUCY H_9WB5?BNE"EC"S$52&>[
M2>@EF92CFF=%MC1U<%&(/?4K)LNB1W5[]N[F+>WR<K^/!/TZ4[BR.;%&8B$O
M45R"%L"3$-*O\<IS%;U%9<X'Q[X^^587I9%VE",T<2J+_WI -UCI)DJR^,SV
M<_4[6U3!?%*P(_>PI3VB3W;]BQ\]).L^I'!XJ6"EN%)Y<HW.MHOK&-[IPK8
MV?VF!I<%%,9*DWR1X/,--9UG;O-> BWC^_:BUB<H"E0)6EH]7R,7V?H#R^S]
M/-/1#:^]D%<O0O>?-74)JVE'/'IW)#5KJJ7Q%&'\)57#<5Z9V<F\UN'M$Y;8
MGI:>(V+W/ZP7J(DW+BY7R'V9'U4=D T./ 1(H507V-X<&+!'1I6U=CHI-?K
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
M]8Q&\=0#"3G-ZL@V(Z"KM_/D[527X=F9[T%FI_]HL'7&3%>A#< JB5&#GO]
M-6+$0PQ]Q">HL]U[UAG(#CT/1I[^!@V^S\=2?4--U10@HBO\\]L*NY#GAZZR
MV*#?!B=CH=]"'O;;4'2",:T;F-0,AY,M7P8_U!0:Z15C9_\XB^9&;\>6H]JX
MIRBXB!5\'L7$.A/!U?J<H6L;F6<@G>V.SF>\.?#>3[*,4* %E$@'V<,0<@5?
MS " "P#\@WJ5^0:FYEE@&2$OHB):X<J,^H3BNEM1#KO818DCQM=_ ?@CB$B<
M9ZOR"W'F&G(4T;K=_, VT[.E(NK2(_VP6\82^Y]\$T]QM;T#Z"WW;\<L?TL,
MJ#G?_)#WMQ!ZO(ZFX+<D_*!D\$%^GGIY2,/TIT- $>^P[>S$[RJ?5?6$:7,2
MB7@E=4#S)=\5XW0'NR; 47TM^;G-R58ZFS=..:91_A 0Z4D+KUAKL#8?.7NU
M/"BKA6]++^321/B/(^^FKP( 97-'SGIEJ9+;*18,]V]9'PQNV0R;U.J,!(E.
M3)\;<7S?TUXB%E6?#!_K"BDJ>\84YEO]'>A"[\:61C5O3@BVH"9LCPW#)K[:
MW!*T()Y=?SQC*YZK2]V*TY*R53N6[E:Z7VWR^?QD5O(F]@>-3XBC.F*NT.&\
M6=NFB$6]W<0(G.))52=B?\;16?WG4>$62= GM&R'J#:Z6KI1I:[GY?VQVF=M
M&]AT!MP"W;N;T.19>XD)A?[RL=;9)$)HJQUX\>WRFW4LW]I"WO># (,R&\&=
M789GKM D?(PEL]/9_@C=VN1\"ICZP'."0H(]UP*;#*_/HVS'B]>'%O06TXXE
MMY[R81)J<XO_WC,Q"V!RELUACRB,+US_O?'@Z>(Z N.$?H&90V()#Y1C417,
M[3HT%-Q)MGQ$1?%VO_/.Z9"A/L7%%+W[W=*7.H5XD^PL[.W-.EI8W)O0V(JG
M)95>::'O#5N,O0/^X*FY=N:?I 7_C:0%@T5*>&6\76-I3:*3S'5"'WNDKLDE
M(=[F8X'\ \H=\/#-!0Q9VW0A+XJK<GD?,B'U,!P/<O N[\76!5+4!BJAI83,
M#I@F^8_O337C]<Z<2TL5"6=;@EST'\6XXSV4<JIOFX[J.4O[2XWP=LC_J'>E
MG*$*#8/M,C>Y?Y+9[R+,A^LE]GZLQ3F$$;"='O;;\3^QZ4D^EQ/R/.^R 0[8
M_\OL!4@IHMD*7AE. 4&5B;36V=\A55'>14$?9RW.^I\O.B,/S #'W$VN>1RD
M,?"A&$V*(RB'TT] O<GZ1(MY>*3;%>%=;B&=>;RMHN2@(JZ^LO:(MZ0$VY17
MFYACWIX% 'AG\+]X>, 60I$+*F_UHO=B.;.1EA%6FDPYA>>U6,JB8C<Q_P<6
M@/YSU/\?1A7VP)W!DZU-F/+E-V.7+KG8GLE2F/CUHSNLYK=T&[S0:+2.ZY,7
ML *#'[6?G\#.5S>9VUA#WM>_55&SVWY:Z=O1A00V(+?-P+/7F&1)[K374 W'
M NXX>(5Y Q<:/=U+BMZIJZ$N1MX<>*LA]B^;_D"\F-V*M]5G*4&;^4LSSQK/
MT][ W]5CYB;_( &((N20O,AHBG50 3@!4@'+]_?,T8\L&8ZT>QY=GI0L2RT)
MIZ'K9W1M=G?'H^HULH.,=*H(*Y$5;Q3<W*5XIQY.W>:7,OYY9#]U)#7U/D(H
MZ!$'IPMW/_+O,Z[;FB[D1NI\HPPCVV7KX$N+:NVW_KH^%'TWYS\K<2+W)"/<
M"E.48?WIVP_).9W.!:Z\X=6M!WQQ<1]G$5UZ<'S.^<[KKHM&)V'3P&HDOKO
M<!XXD=D\%*3:BC@3&VHRAGL6VT"=VF/CV9MBL5@%N:SDQ^0:;A5!GH4*V+0*
M9X&0U2D/ONR^PRJX+X5">HTNXQ&3)TE]M/<8!P-5\*E&">O.+]%[-S_\)G_#
M(./C;^4M,I?KF<$GT8E0,P8*X*)5@MT: G#SF^MFA/0]G>&X8-]5XL=>O]CG
MO;XR$A5=ZY=:R8_&(10M!@J2H;,$>1 U'2EWJ?J@*V//4OM1]ZJR]+[>>K6(
M](TIY@KN/L>E)^>Z[LF&:=ED<C*G"Q)LJM(^_:XJK)ILO5=E^20>7A8-X$<I
MR6#:]BWL,;,AX(?S\8B[5T"59J'YA:9&/:*]*UN.G4 F\%S"6$@D^A# ?I+4
M0GX;O)!@NZRM,IN:-]N[U$6C4JIIZYWC'M]Y]]Y83&"Y&T6@8++Q?%>]%&&\
MN38@ZG/KGL+.E%D,*WW;7=A!Z^=BUN(H^B]:AX4\.&_,&.L0O.S\[@XY(R&W
MPCS9-ODAK-$AC3_S3ZV&=/]4#.P2+//7/P*<C:TP?^]#!/][YZ+[)_[WCC)#
MX!")8!:82! ,P@^]3H[+=3KPDUJI&U%ZY8K:B*<M:[U^EM4TK-\]<<0 %X@_
M0] @>0U*$)D[!F)$8"\]_9;<!1;K4Q_Q)LP^NEBH+W/IDMF]2Y?C8T$L]"$@
M$]R)Q@?G@?*1D_/62*3BPH"J=ES&=%7 ?E)7H71P<[.]<'.'ERNQE\YF2KE-
M#B2]HQ56HL2#3K8-KV8)5U94EA)VAK6EK]](RD]UT6,Z=[GB^Z4C9UZV.\":
M4)4JZ/4HBJXSAE_EE[]\ BM>2:&2<EK9.7V!54K#J[CGJ[GQR;GD/6[-\1]?
M8\E*SQN?VV+ST*N>ZZ&]NV#_7^C39"D*%-:-K3AU49>PO4#/\EQB4K^:5SM&
MM*9\/ ^X9#>JJMP0$O4GN07QGQ_)5;(J!%\6R CYZVY61_]S[A2D3?N&F7OC
M39XR3\7MK>=($ X!">Z.E&<'9J^Q#K%T>XWZGV*\I.?QV^]>^79/3MAQK]]D
M+$6-U+:0'M@ O'+$L95^J1RU'G#01P4[)&[9:T STR189 >$FW0UH44OL$__
M9!X6 ^"JO74CABYK!U&0LK&O%6!1:^VJ5DCBY:K%(UNM?A\<;JV+;N:YQ6?C
M\F_XK>#/;8[ZP0E&)4V.07=;.<4P:G5A0_P"Y7F'@&[=VD/ 2\_/Y]#]1A.^
MI -R*>5TT"C807GJ7O^6NWA?^NG+;0IWMWZVOY/R%%:]6N_5JO2"M_^J,O8
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
MU-Q3!NB\>IG+HB84]*LB6 OLTT]_4XR:MZ *K%@38)6' !9N?#*!W?A'I48
M:V!HCK6FR>T0!P/YE--:^GQ >SPDVZR':DX6)<!QZ7&,N_?:L9$'NM&*-Y*%
M1KZFS8KM7NS>6P#]TMXKWL2SF>VT#9ML/P1OV6_G0_4ZR&<H%O1^;(5]QC15
MC%SZ:>WDJ=D#GX$EVUL:R.HDA0*M'EPB*_HF.KR1D2<U<\)$70(3%M 3R(7(
MW'G..[+;[G[X>[JUE;I /]U+R9IJ=.*E+/D!\#QC@3?;8AX;S4 -"2-8'JBL
M\QYZ(ZU2S_SB*'U40.D,[H7C'#QPY"!1E+=8Y#.F5Q&(+>?2ZYUW_)W+3^QL
M8ABZYWH=\6;7$$SNH8LXT\ABDP/FQ&I;Z;J2I$WO;LH5XS7(0[)1!XB7N!'%
M'4/E7DC0L!KV./$8,[1ILB ,2GR53UV+;13EC0K(%\ 4+ZKU:""+\8J>>/O2
MQJI$)YF$G SAI$MZKQX7,C4?$^-QG?.<Q-%96W&;8; +AX#(C[3PC<TK:WB0
M>6T=H2.CLR^\KO+CEG1\_$:5Q"+?J0MGF+$5%J==+A2)@E/70VIN^\9W%]8,
M!L8-&8=T&)1#AG5[(24HZJF\9GC%R 7H57)Z%1U(W)$OF2B=\"Q(6_WA<<U*
M3;KEGJZ9PI&I745H*B6 (:Y+5"WBLC/] I4]"*J%^P7!\RD8+DZM#IV?9N<_
M!)B!;M_*R:?0 M'<%%%X\UU-P[E#P"EXZV7Z=-*TTR3I_87R*N+5?&!Z8/SQ
MQ#W-H[<O>H',CPEL2CUA&\Y1NH.5'3S8SUJ^+-/L0 ZV*[.O*L^ISUX!+B,6
M,,?W_$\E=XL-?BW5^QK_H?!\E\2.Q-#X$V+VO^&6Y7])O+D0& ;C)+.;DI'$
MDX_BC(:N9-JIS+1%H71T3EM-1)L9]UX&J _K5S^[DAF@JTPQA0V#CM)>-YZT
MA=XCUK=8"5[X+?+ YSC2N%;B=8P6L[!#\^2'K"#F+28+V@>J'=$"ES#>"8\.
M,0G*:0\<CZ.%YQAXV%>$/5K@O[#U+!%TS,OG=$U224_O!/4Q.8:BS1":$=R9
MOY*@&U&\\32^PA8X* 6?=KYJ'6G_EKYZLE7_S*I7CH3D^"_N]3].VV/)=I1S
M5MH+C&1B7UR2V-I.P;M88GR?ZNWG5-ZFY)0F4=<O[VG+V];[1B"?R$;TVJSV
M/?2'I\'/@N@^JZ2A(:T"J&IX4[\07<*BJJ)DYMG!O>JMXA_8QOI!S<"_T2 \
M)6,6P+&8^9Q#@ ?MQIK%Z.:2X'WR4WKH!IZJ&!0".''1XQL;@+/IXOBL0$!
MB/^GAS"4JQB/MDCG,9X.?JGK%_@?>#% &5?:"E;\$.#*/;%'<AA*S"4B%QQ0
MN7<&D=7#3&\]/9@]E5BVI3B(=:*W@R4;9<@(1M3UI>5@G+!\O81J$BM9] MK
M[O[MTL#'RLIFK$VI/<)A$_#)M$^0/=?^9GO_/-'A!*25EB"6?LOA;=63]^.D
M-&QM1;QY<NPZTN@[964!T:$<@3I&O4I7(I?C\,JM!SZ+BAVY?J7[\2<".C A
MMQE00MON-X0/ZLN8\D_&5-<@A*)#P-.!5X%TV=&-=ZV.A2X!ETK2#@&_(]Y!
M&I C@N>TQ;+Y$81J.@N16(U#QIQ<0.%7B+W&W^I1G#*()U]"B[<](8H;$#^O
M+[_+SOHWSZ<W3I-%*1>IS+3,"LBZ43B0\\K,*<TG2LJ2<=]K:X [8X$R^M=6
MCI=H'+$9ZRW)Q#@KUX()<*E>VC1T(!RJPM UCE:/<>_SP'9BJS8[-/J8#927
MFW/NKJE\=WFNX\QK_?Q1XB68-U7/=1T]T4IBI;T!VW_[6$MV):RR5D:/<RYH
M/8LK)&FQ\EUHL]J0?, \U) 2NX)^\]2U,X5:NEYQX_5B2^RY8LG_QWZT_ZSP
M_F<U]W^PFOLK2I2\V8SBA%[VQX&!Y*Q>W:&OJ?Y]]&ROTH[PDNY5H^LY*4&
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
MG+-9Z4UKR E$VQ/!$9K*.'<!3TYR;VN 2-5[GSH/!16-*UG"NCE287E$_JW
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
MVZ@/B21[.$FF?3HS 7G6D\$S]$9PZP%Q=K8@[P?U8>_EQDN1X>S?%IH4V@\
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
M-@TEFH08IQ(P5DS,T#UW_@"0X*!=6%S>+5_T=5;Z>.I6W_O^IJ3&#Q'P'D#
MT5IQ^$<4]C*3TB_=8_)J9 82'+<E,%I&A\?85DG5"I03W!:H->3-'=?:M,?S
MI\$VI1OF><;(GI6\1O&G9O\&,.C+G?I/:E'_-??OY_Z#"M>+_PRR4108IR>^
MVGN :F%KPK76RN1L'9"=US6N8%C'=Y-W'SE__?QWE[GN!;EM),#.0T]9H3I
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
MU=Z5(>WDXG$ADQKU0&)YN@_"#U\N^<%93+1$%'>#^L-S'?6<R9Y;-J:RVP\
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
M^PCDMIYF[;+Q\8]G&>B"?3P";<;B-3#3J"KN=.GY JQ/6/U/\C5-%/\O&18
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
M=ASJQDY'"<HV&Z5 2]</;E6^NEFYP0^.D]0<#':U43.Z8'D?]TN<=X6/;QQ
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
M5S:PP_%MW,-XZ!D/'D=MXO<T[&#K9C:G;?3U9V+ASUCH;^CDH_SRGUB44O@
M[U+*6<"L$"$_%OC\5]A5B6 Q[0C)0F=#*.Z6%09GANH1/D9$)<O(-Q^!N%RO
MP(Q>NS.'O9'_#75IO*WSN4AY]JK/+5_K7W0_D'E%R$D.1! &F"&)[]W*[.')
M>JR!B2K/[E,-:*U(]<A0TA>0X\[I93;P"0/AV,.(?2E(J?4"5N\64X))1-6:
M_=GZJX>)G0O$=.S0I,.],SV=!/E90XC23;^)9M6+],N#XE3^X9N');4P+!WF
MH4UI[%WB!VN=M:@^_ONNT^>MU >ISHQJODE!&[#;-H:2=:0!7[H$/2W[<^V;
MRDL/?7PW3/[DY!D)BMUM4X=/MA\<@3H68A9 I9.2N^4B.ODB,(YI&[&[LLLW
MY50;9R*&M%3VT(]H=E2&N]5,&KX%6-&@JCX)><SPU0+<N\M\#ZM5T)V5S5QF
MJTMG7-#HN!3YJ:6R;W@RREZ7B+IY6$%A7I2"T0Q<9IH-=08^8.4GF/LE7V/L
M?LKGKY",">RYX64]-4IWY5+NP6<:R"_0 F&9I#9Q"I0(;9=R[/P!#X4!F15]
M;+7%%UX)#4RM3>RLV%W)DGE&+./[A(MQV+!?J9CQ"(%&;F]2A=TFH%CN)H^2
M1#>XE53+N,XY?8G/)3I1*5HE<P!SQSY5O@:(#RWLD*YU<#G_)JOPMPR+]./U
M%IQ+8V^H"Q=:"Z**,"7!MD))F?BA=T0O]FE[*;8=VVH/@</'1Z">NFK+&5T1
M[(^WVJW4NSZ@SQEL;%?"Q&^.J#L2P3CS*-QPK"9#7F_0P?GHVOCJ5-.8_I*3
MSX/KOP1&I+]L'&)3LWA%<Y+RR*$)2,U.UW!"OM1$BS'YRNRU4F"EIW)AUBZ5
M9VWP,)M9J.)+V5FWNABI:-"+^RRYJYH0VD<O'=:JFY)8CT#!Q13E,9XNK%J
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
MG6ZP]U8YH> T(+-G1T+%MYPOGUUK2BY_JH?=&W(4K.1NB#<T%WR'[7X8,JE
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
M/"3"=:3GKQ;NNW'3&P_I'3[UI@++VWC#$-! OX7-><5?'%7_I8V"\?(H4\"
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
M0\U<SU,\UBH5,MU?WB3^/+;'1=A8I'>^PI!C[B)<"<C8!RU@TZ G&%<2=UN
M_*I57>"VKQQ!]D;4K\D+?3?[PT>X@G6WRSWKS?5F.V[^4NS<$S3IX87Y%.LC
M4O)EGS?INSL2W=;..RR\U]G+-"UYX*GB4UP>?3O6(BKE3U/?7_4TJ#9KAIC9
MY0R,L^-I91(BM#!1&M]52)HV<=I]FI9W\+KMD3,E!EW;#U,F 0X**;D=S"QG
M..SI1LQ0#I)2#=<@@CW5OBW#KZMV^T5>91C'^5PPR;G3K_Y<.P(,XB0=Q1HR
M:]OL*4(\;!C6I:L_QA45PR[@Q@BN\].?/?/4])4^OU]TY/WNK$/#[P:T^37
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
MSYX-\F+\PIY]F$1^8JC;1S1A=\LP), UZN:0;YWZX.-$4P^7 VW+X#4L%\.
MYD2H*O;>["3J?/M.YZ[7KJIJ(JKDCK3FRWW_\VUC&/RY^>*W0X8D=O4;@RK]
M0(LW;,@-3(6EF@:&R9$:;)'?7NZEOF_LZ7L#>G[?$@)#37@8T_*[$8"ZU>]D
M%'=7EJ]3P.V$WF'=A&&NEB0[SB/,L4>W$L\?"+GR?04@D4WZL!F0@T6=KA5]
MI(-V"X&.77/D0D+G>LK[PW9'(D@;*D?EG,%C'S.[T)PL"> P\@PXH>TPO^3\
M\0_1Z>&=BSGV 04*YSYLN:?Y2HM*'X^=]3&5IFJA;^E,QXU]-T<+_93]ZKU]
M^5RN^\< 5>0R]%31+9GU4XH3',.H+WECOOL@" OD^D-JR3O>M3W.OI*;9.Q4
MU_VB)$(SVJ<2^R+@*=#$]@^V3^$ 1!!I3R/CFW ?I"2#\D7/:+6]$%9027_Z
M9'LM?E9V@@:+,S>A4;OR4(=HCU-G_"9Y!@+Y\X4T^&N]5;][>ZL^R[&S\#V0
MWX,'^_^SAUTN0)%_- R[OC9D/=B#B,E3M!<5W,POF:M:P@ /EONP?TW+]D'H
M&CSP]N]2RA9]&@K6>U/A;CS6F([]E$,I6>Z"R^-O;6;,"]*"Z7?:]7-[/OFH
M>=<U;;\JE.Y?LG)6OR<M,S-\8H57T9Z63\9W0]*@>DTT3'S#]<%T72EGK!C/
MW2GS3\J>BYSCE>8@NQY4V1</0>4XFE&P7B5O<]_;>59Z*[8[T<X8F;X/$F0
M.VR)*([>W)G:!TFX2W7!OM53(81]4/))6-K.9@:$:!P51LZC] TU0T/(Z7@#
M3WS47X^4G6.T^:OG7OE(?UY]_7$U]$]>J;C$EDT'.BX8&<F,KS&'!,"F=Z+1
M(C],YA7P KAJ!.5#>#(!S:-^U,DKQ$;)>7+G,6UYH2*N72S"#PDA"\BMRX;,
M#IR<8;ZT"U;)<!]>E2G*4T\CAV,CRI9@TV94@>5>_(P,T@%['5?SP9,6TT 2
MO=X6?5Z*YI^4$V?FD]AWDQQ>V0:FPC+FS9AEC.@]2Z0R8%<1@3F?@@:L&J*'
MSG1K>!^.FTC('SCHTO+IL% ):'7$]*_464"$AB&@18T0J87@>$H]7;+5=Y)8
M4XZX?[R >CN-I!23TMW[J.[-;6N[X8 S"UB"#A>;F6.:8ML55@(J5J^E*Y^Y
MJQ;IN!RRWO-?D? \)^8DZ"CG\LBT6+>'#AO6]_I(8*@&X#]%<* <1$BMNH:Z
MIHP@#K0^^3!]%"2252$M=]9AU1V\(;)GBI2C.R?LP(C."WULR;X@1E<H*3(N
M0U"%!/U/FP:EE-X=>K^>#9?6U!TJL0^%?J! 'L&$S*]2Y]0I01\7OF+<OFA5
M-(UOFO\1US0X;*<<>HWW2-80(8%3)<WY .F]^OI+8NT$NUOGC;2A9>/"%MQH
MO;Z/6=H!=PQ-/G#WA9 JT$KGZT%+H._ X^9A].[#1NXV%..,J;O*/*K'IXZJ
M$DWEOIXA!V_3>V(.[MDB76GHSLU'LIO)2.>JF8ZAUTZ*&#^56+M(L\-7DJ6J
M1+M]%+CM.K@F$[NQ#_=!AU@Z$<93"[^[A7BL(LNN.XE/A@N/:-5UT,N.B.OJ
M2QQZUP$*CA_[@.5"]9#JP82A*!TQP'-!-0O?=&_WM\EO9ZET,<$TO&]V5_:$
M2+_%44Y"VQDO:N8C&,V1!$9RCJ]_ATM%_+@ZIOE.H=$6$]B<0[&ZB5H1L5ML
M#&[ &PEMB+Q@36!I.G9-D/K)S%(WI$G.U+6Q,#,AB?+!R60O17UED<K@]Z*6
ML"XA_[^8;C1?&Q]E4V8%+FQN4\JLNDH;=R2J$F;[):=?7Z@SR9-6%@4M/LE.
M2Y.=P;^O_ZKI,VXD=Z=P?DDR)>*.C+,UES[F-J\XQS9XXS!=RGIB!QT+Q_FJ
MFALAJF"[3SO_Y TA2A]QYXZJYY$Q5_MN'/H+ZT:9TC(?,92#J2/"$0EC,S8X
MW-[YEOA!<ZR.#+_TO6DJR$<EUJ#P$^UWQS[H,4H:N($_V+#)<TH]0?*$LJP5
M QLFXYS5WU%0\(RQ[G*_LU?OX0V)?(;8VJY#79L4A/;N5:&$2H]G6+6'/4+F
MQ">1AE</+.ZGT2UE2#3'.;EK\>3P"FK@9:><K\A;5($S-^KB+B:XJ.J]E(^"
M',W^P6,AX(V:>9!*AJ1BP*@3:T<'2B.BN_.-"X>&QZY]#1I3O>ZF(,XSF[L.
MOF0PS]:FG)21AQXJS6.&D%03(N:AZZ<I>]HPEB<O4#]PY8I5<'&O<&O':=/^
M'R$!HVWV"QBAB('3+;2^E%]N@3:.'Y/ZPKPB>7)..(]64FMX?BF)6 K_F#>F
MA<<O)-!KZBG5T"D;6ZZ^*X5T2=* \N%'CS:4=CN7<1&)A*HB\7U07#+R5&9W
MG5([INOD+=J'9VFX9V<-DNHG(J?5%1-'IZQ>L#IA=>C$L&>X5IU'M,^CY[V:
M&MLG:H*TJ"$AM@G7981&XS3> 4U[9@PE@#R9#Q-I.]+T("KB".%"TX<\XA(H
MZG&>VK49DI_*G65QCB77S6F=?1#Y5918Q,7L&LUVQ1M"XC@\K7NL*:>."C09
MWN$</E3RK!)VDVG@F-ZN%<![BZ>UB,I=RS]U1.\CU>E8-E_8<?X,RQ4^S&6/
M4AJ&[-R%C9,T,88+F*M+/&S/LHL)W;8SZAG@)W_2?#?\[5.'.J<ZR+O!'$P;
MZ83Q4[^^I#FF[JI.[E3N!)Z/>6EGOO:I\4\.<CU\V9]1]5B:? A$QP#J\,0&
M.4C\O*IDH5$#VI<^7"'1VR\>F5UV_*6)_)M+EN"'N6L>]J7U:$(I+NF!0NV-
M\[65L#!THS@9I<(*VP431A(\>(&K9;.^BIQ?4 2_L#<.,>9PWQSW\<_3#P;3
MNN]08^^9'=K"$"^3M8L7\-]:N]F)CCM";?'IF,G[,2V5/(IS^,<4/^-\;V^6
M6F\$9PJH;._<#Q*_'(MWI]*I?':U^N7(0JI+0[#OY<]^]=+)GISI79:F\ND5
MIIWO( H"-J> ^#WM&Q%=U@D4/K=4]]-N\6GN=A5N2M;J0.'YM =&*U!Y9@K,
MAR_FLB.]>KEKQ?EBK%5(H.)/1)WJZ,4"Z!#^LT#VR$#:=MJV^T@/(IY=ZE#&
M )PES*YL[3*IEVO%-+]HV-+;]&,M0T,/9[^W[5=6R@KA_6>#<X,V_J4[:P;"
MR3 )>-NIRGS2,CN5EZRD?T:^,4G9&](E-X#TJ1EW-H<=L=D''81,4;*[&C"'
M-@;]G30/4NYDNJZWR>RI(SEHW%7E 2PIFNB9-RM3(;/3/R[!G50V-&LC'<?,
M/N@S'L5"#H>$/RRL9<O'.X &'>]:3X=T(WAPDZ6>08$+;8T3ZHU9'79J:K[N
M]FK7FT_T4M/N?.?L-;]ZBWYN'\0Z)%/M&F'0=Q+Z^,T 60.Q[A<V=[BF>S?.
MTLO6,EL7.;I^SXFCF5SXR^DQC*-=-2)@-W8":H*T!\I>^4]-L:1DK^3)6B=-
MWOKJ8R?J,XAM?G/M/+6,(SLC:C,%7K_9I9,V&6Z,%T8>5IA9Q6P)M,51[*-3
M/3 A+@4W!,$RG1W]KP#G/0N&.F 0^> MP$?((<2@1?MBWGCX&\PYZ1_KO[1M
M)FPPS W&@2+9N2C>:NPN]."/D[@2C/@#9Y;6A.O6P@7$LU?ESL$_+"_&GN3'
M7(9;3@H1,&P(!1P6EFC86$/$>Q>CV2DUH08[G4VOV\,SK[S-<\=-%:JB8J$G
MF#@TN1C>(+2A0?^,3F9[%NT' :P-/X7.1(>-M:WAB/1*?B Y;KMP"P[<1VQ$
ML@&G8A^4>S+QGZ7[5^+.I4X&/6-QCUSKMJS>YISK(^ML2.WI(+V8A5#5>:09
M6[$%U!YWU__FG^W6ZN;OZS2@*2J2R'^B;_YR5H>P58S4/S>H=A[%!R"2,0+@
M;GMT<B[2-/5RD3'1_3>Q]$/+8YL!LSZ92REV-TL_*(FE"3NMQ4C,.$.['7/2
M;N?^^,W@"WOUY0^>_:\#F5C8RJ]]T);/A7T096T=\:V*+)2Q#_+&/GR/U 72
MZ7PLT1A'K7.4!9S[5N/W[(=7!E\U26-=7[;] !B.:O*Y_O/)(L<^GQNDMA]C
M0 $C>N.8TV.XF.&&P=6G-]UZQKV:^<*"TJY+AA+/9L==?6+:8:I<8A6![_!K
MNTQ3WBVF"ZV/+Y#D?GAHT,KSV?.C\6Z@$=]#H]Y,W>RK@>:#]V0<3Y/OK5@.
M4^9;Z6P!#6C1>UE3KD J>>'^FVFK15?_\*:0F1O=!>HW<]0N.6O^UZT:855X
M7B@G.RYD*F[XD?C-(8*%.O(6&YU/ETH6$^YY7)<IKLV-=>1V! T%9R&;:./D
MIF18 .SQ%]9D(UHX#Y%R[>_W)MD[SFE8SPK5AF'E<5=1GK->W469)[+$GM=:
M^'2@B08>3+8O_07XE]!"F=P1MW]%Y)]E35Z6F'_)%E:>9T/4TT'S\O$-]!6W
M"?/+>R*H098.78&48@1+].:K/GU9[55+4%68G\2,J-VV<H+5F1P[\P-V)X8#
M+OW>O< LJ1F.HR%UQM=?T8:Z',J<7@?A<KBOS<71)?S$G^?(OU?)B509!6=&
MD#JA^G020USGVAA;.Y_;ZW+60QK&7<<)0#_+S+OT$#E%1.- JO%W[C^56$=S
M[8-\X'P,Z?:O;8[FI]X"\=U1VV4!4.4I;:Y\$PYK2;W8 ]8?GPAVB)ZN.:F!
M3E#DQ@%/@^DH 3%$4DW#TW'U">CXX3E_>5OEZ=:;?V+-XGY2:S10L?K(X 42
M&, 33*"B],5BW'!^Y>.FYH;67'^G'-WB4RI9NF"CK7W01B[-9$%]?9'L;D#I
MZW"0CW#K;21NO)(5796ZI.&O.@MN\DT5.?+TD[(\%9S0^3> HD. <S*NT]ZQ
M>('DA16<A?;BTW+<TVF4UXEK_(_TLZ*$3]48=,!K1]:W:<L]PA%3IV@&(V]=
MY;_-^Q.+>]9<_T;>CI0^K/!,@# 9:UI55$Y+9(AG?/X-]XJ#22!U BQ.S+W'
MABF,9E,N165EYV;N/K:CU[@@??9"&<JTUYE*>53"251M5< !@]Q KO>O@O/[
M'$:DY?=!$5%3;Y&NP&$:GIJ1R9U,-^GZ\D./Z+!\_;Q:A'=C;F;A"4^OT&%N
M2U-3&?"!*H8*$X,290BZ-0'W%R[ZW7\CC-C\J7VG^4-SG^78Y\%OD#DN0>"%
MD!X;&D+=W59A/(Q3M/F_7IE7:/BT'3D'QZ_#BOIW9M_9N%<L@7Z9R8UA]B3:
M4.I ,CV1DO>$XJ[A2O_4-!Z4M:@M.7W=]2RLNV)06CD></:B*^]"V2-K1+Q%
MR *MG4+,BC#I#-::T\1/+0$*1WI=DOL9&NB33 >G^:&?# AYDP_@)(27"-$\
M'B->K^;I18;GA==NV/:&H%[EV*GGV*GD^'*>^P\7@OQ?7<;S;_L_:@;F7ON@
M(Q\WF<&LEVTM'VUZX5L:\_N@*<@/C8$WG'5 \#[H,-.>O@\:'0J_VLOX7S8J
M_B^'F_W;_G/[3X>_">R#A(!"(?XUD_H1_ZWD&V]X.CSY WQ8DNV8?9!E 7Z3
MS.X MA"PN@_ZQ5O$8AWZ[\]'7W#^MQ^6_6OTK]&_1O\:_6OTK]&_1O]_&1TJ
M7.Z.UG*SPSAF.CR5O4.4>7[36=5*G&-_^G\ 4$L#!!0    ( /:(5EC^1$%L
MW$X! ! M#@ 5    <6QY<RTR,#(S,3(S,5]L86(N>&ULU+UK<]PXEBWZ?7X%
M;L_$N5410A4?X*OG<4)^53O"93ELN?M,.&YDX$6)IU.DBF2JK/GU%P#)3"J5
MR028($5/])1MB2367B 7-H"-O?_C?W^_6X,'7E99D?_G7]Q?G+\ GM."9?G-
M?_[EZ_4[&/_E?__7O_S+?_P_$/Z?5Y\_@#<%W=SQO :O2XYKSL"?67T+ZEL.
M_E&4_\P>,/BTQG5:E'<0_I>Z[75Q_UAF-[<U\!P/=9=UORW_FB*.W33P8>RX
M 40A=V"": !])T"8NI&+G.CBYJ^8.;$3)@1RQA*(*,8P\7D(PX3%@>NG#$=,
M/72=Y?_\J_P/P14'PKR\4O_\S[_<UO7]7W_]]<\___SE.RG7OQ3ES:^>X_B_
M=E?_I;W\^[/K__35U6Z2)+^JWVXOK;)#%XK'NK_^G]\_?*&W_ [#+*]JG%/9
M0)7]M5(__%!07"O63^("1Z^0_X+=95#^"+H>]-U?OE?L+__U+P T=)3%FG_F
M*9!_?OW\_FB3R:_RBE]S?B/[]A,OLX)]J7%9?\"$KP5Z];3Z\9[_YU^J[.Y^
MS;N?W98\/?S8=5D^>:I$F4B4;BA1_NNQQGX] [XEO/5SK!; *7,_VL(XQ.E'
M:W"OA4+PZ0'WFCD;<O-"O<W97._NMJFSH4^/V-9K4=1X/<-KL6NF!WDM?_!!
M_*UM1CYH0$Q5.ZUT]Z#R[S7/&6_4\LFC0<;^\R_B;ZM-!6\POE^]X2DO2\[>
MBP'RCE_C[[RZS)GX4XR%+*NK%>51BE'H0.9X'"*4)#"F*!;_\7R:1+X7Q=ZJ
MWK[C*Y[#KU\Z.*I-LP;_8F!Y?>0++GE5;$JZ&_ONUH<&-#&6R=$O_C7'=[RZ
MQ^T- K5T%!I#_JO#"S(%&-02\7_\NC// L?KV9E;ST1:@Q4HL #G3/X-M'B/
MDEC0)\#6TJDHRGUF"FK,S.ZCK811BI845T39U3Y+<.3YO_)U774_@?(GZLO5
M;N[79^_$9=G9A$MZHH/:*WZEA?"N[FOXI*_2LK@;9WQ=C'N=FDX0H/X"BI+Q
M4GC4!PQ\]M)_J0OZS\O[^Y+33/F$GZ6_7'VY_/SE=WY'>&DB&B<?MC354(!!
M'S%H((.?!.CJ9S,!.<VEGH)8I7%B"3G%(/C60/[_[,F(-CV6=.1T>[,*B;;Y
M^TJB?Z.9E'#*5I_PX]\KX8O*V;><;;[)*KHNJDW)A9?$W]?\[M3PJ?F4!;WZ
M BUXJ$ /+]@!!M\D9* P6WCW#=DY\.97G/YR4SS\*I[4OO24[=YUW>?/\J8;
M&MN]YZ:WC1PP;W')7^&*L]?%W3W/*_4I79:E>#6X7)YZ];B[1,"1/[K\$Y?L
MJK[EI?J5&,I++G[]AC=_KD+$O)#P"*(H$/_Q_ CB($P@H5'*8^Q&(0V-QF'[
M&!<W<DN0PE=E8OX$Z@+<B]^"G[(<5.H7IB/W!)VJ.=:_;%=-[1U(?%!A!WW[
M0,] 0!Y!_[K62*"LO #*SN8"T%D*?NIL/=[/YF[%=#UARQ&9 .&\KLMT%#]S
M=B9LRFS@8#Q;O<WKK'[\>['>Y#4N']]E:R&1J\AC)'$= J.(((CBF, 8ISX,
M QH[XE_4#1T=V3_:PM)$NP$)MBA! U-/JX_S.*RT5MB96"=-B=$6MY/&#WB*
MXMY&E<1?=F)T_(FS2,E)@SHA.'VAV6?\Q_JQ6K5"45T7E_2/35;RWW&]*;,Z
MX]55^K&H>?694YX]8++FPA^E'H\#!R:$Q1#A)(0XH3Y,A;='7>QX+$2K_J+X
MT5?8N&VM5_ODPK_--[P%^PB*%.0"+"BW8/4^?W/^AV5A&D[GD0MC[%-1S-HM
M>36XO@S53R!,1_GU+0?XKA!"(M]@BJM;4&SJ=%W\*6<=\L^?@50I%8^ I855
MICQ=N9I^MS6U>_VKWOO_R_DR/YKA1O[E[4KA7:_9O_]7\P?.HOZC[>Q&A?$/
M&+=:<$EIN1'BFF&2K54+KS=E*1I?A3B)24H3R()(C Z^\/M([*4PX"[Q0XI2
M/R$F<_ZC+2W-"6R!@O4.J=ED_3BG>E-N*TQ-K/ =23V0%Z"%:6_*>Y()2Q/7
MX^W,.OT\:>[^)/+T#>-4X=.:LYLLO_FT*>\+,<$L[G"6KQ(4N*'O4\A9Z@A%
MB (8N[X+*24X24D<QPB;*,+!5I:F!AU(T*($WQJ<Q]?,#1C5TX.S>9IZG\&8
M(F,A&*3 D@@<;F-6 1@T<__C'[[8[,.ORGKU6:X\M?O 8>2$H8L8C-/$A2BF
M"))$?.H)2@+"W)103VOE9^^Y2_NXOTBOO*HSBM?@=X[E-HQ:VC7[QO?)&_ZJ
MSZ!D\JWRD6QH?\Y';!_Z@,4MO8]7_&OWX>X_;99/]8@)W<=Y[-?CQN'/O.+B
MIMO+G+WA#WQ=W,L.>?M=KA?SE>M'#O/\%"8\$A\I<^3W&460(#\(/1KBT*4F
MX_%@:TO[=#NP:O[*=G#-AN43!(><HL2+($T""E'*$QA',89A*CR=*$DBG_MZ
M"V3V*)YU46P.DO5\(&OOYL0:^H2Q'E+00K7G$FDQ8LDU&FYK5A=)R^Q]5TGO
MIG$:O;\+]SZ_NN>E&$GSF]?X/JOQ^I)4=8EIO?(XIG'B>9 R!T$4."DDW&/0
M2Q/,",$IP<A$L/6;7IIZO[Z58V0%LAP4'62 JXK737AO;^WEKV9B8] =>LHS
M#<D3R]"!0 3)]18Y:*&#;QUXBY,U<\8LR91!P[-JECDA^P(VX@GF,9)?<U:N
M'V^^<*IVPG[_9_VIS"A_?2OFF.)ST1"FTT]9FA )M%S E9]$AQC\CLM_\AHH
MV*!1*CT-TB!Q6'/L\C>QQFA2=R$#4*F596%]>D;%EYYX]&RAI7HF]J-*->\X
M(Z"4G(Y4(ON12L*_RDIU<7,(<!6%%&,WX#!)9!AI[#N0)#R&48+<)(P00J'1
MEI(U9$M3I1T^<*\ 7@#1[-V(F%$K_:;G*+U(;TR])'9^?&BO+QOS+$>$VF3<
M9ARH%5SS1W_:I/-@S*?5!D:$B+TK2I[=Y+\5#[S,50LW/*=BHM6N7B<.X8GK
M.I"%,ID$9S%,<"K^XP<182Y/HB35$6F=QI:FNRU<<+/%:Q"8=(K8816U3=?$
MPM@QM8,*.JRG3]29<V<0QV61PYE"M][GZC20&B)*OE:I8^H"I,]>1H!;4VQ%
M9&ER-1B$=>H9\\5=:5KS)-1*]YX10GN=W371^TK3V;-8__;53DGD<B>14;C"
M,T:4<DA03& :QI%/:1 RQK7U5J_-I<FN1 W4H-<X4@P\][@,Q$23> T]MD_G
MQ+*LP^08?=:DU$"F[5,[DUI_YO?B<3(\$V2'A;O>=8(Z[-?^G?:LLR7@9BP.
MZKCFH^:3<S/;GJBZX:T3';2MCAWA4O^Y%JU>YNR3>+D^BM>MC0A#F%$<AB&,
M/;E%1-($8NQ@Z/D)PYR[4<R-TN1, 7)IPX=""B34D<%YD_2DP:+)"_;/Q..1
M2=?8/Q![!G=SG8@= W%91V+/(-GX3.PY;9GOAZF'_B8:K]^(H?T=SLJ_X_5&
MRQD?N'UIZBF! 84,8'7\1T$&$K/^KM<QJDYO=UE@:18-V[$"=HS9V=(Z0<&H
MO:QCSYQM$^N$4?W=JU.7CHV=?.#YAG_F4@5DF/0NZ<H566<W2EMD"!"5612S
M.W')5?I%1L"FF.Z66MV5F(R[) H]Z,4IA8A%5(99,AB0./7<, QPXIJ%6=H!
MMC0A:>VZ$%.AUC*Y>;5-/51L;3.-'K34CWH.V4OTSL0"MNV8K5%/<D+MS%*;
M5<HPT%@FAX.^;1?6M[!LTVTMX-$2K)EC(^V2^3R,TO+S9\YP]?:/358_OL^K
MNE0K197*I7)]B_.K>_F(ZF.1/_!*9H?>-,=@DMCW?2I4W\-B-NZ&#";B9Y Y
M8>JA-$8<1ZO[O>S<TZ54,L5OHD'[5DPG1Z_X398K%2)XK11H_K18QF^"ES@8
M>U$( T8=B+#,@!93#"-*0DR9%U&/M&]"E^OZ1WX/#J<&MYM1AOU@KX"E!9V7
MZ-0?($I&60]ZYK>)U6I! &@9N !;#L1?%0L+2*\VMN->.NF:,>YEK3O9[@YK
M"=I& QB;(%M,FF4[PM62"71OB[6XN6I0;,\ZN#A(0L>C, R9!Y'/*8QC/X4I
MPFE,N2=<&:.C)UJM+FV&N@6MYC4]V/]OIS\:QR'.Z 3-$<0VM5.KOPU61R39
M-F#)6J)MG39G3K9M0,/SA-LF-X\(@1FMH8TR"EC*);S<U+=%F?T/9Y=YOL'K
M[C1,>["@N^QJ4\M24M*O7/G4"R,Q08,8R:.[F",8AT0H'^)!FD0I1X%6KI*7
M-6-I KJS &!E@JQFHFRXD&M]T@JL>UCFA5\0C>B?'Z+;9W'MR;!K_ZIS[<DA
MU[YA UREH,V)W7N+&D:V>9.W9X5Z5_=X^2%>+(,8J!_B!9L_K&JG)-*C:%8%
M9#+##KV,C 5W*H2G=P'>O57R]^JG##X/O0+XZ:2TZKVY4X1HO7@G#T9]O1RZ
M^0+)7KP'GL2FO3R:<?/,JS2M>"U/'%^J<_K7*L&JBY 3.$$"/18F8E[I.S!A
M$8(>BGF ."8Q8B;SRH.M+,T-VH$$#4KP3>$TG#0>9E1ODG@V3Q/[#>84&<\
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
M&/3RA+2@P4\M[./AJ\:28L:3)7G1;'16J3$C8E]V#.\>*T&D_L+IIE3R=OF
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
M#6:H0(,=:M# !M\D<*"0&\;W:?6 GCS9YG5B:;)!J7DP@0%'MN(&=)J<-T3
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
M*R*G&YQWF42;@&=K)_IWCJW @&L5Z- $_\DH"#$GS.M*I35(HE#\3Z;L<OQ
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
M &=IF'.28\KM"B+8"V'T#DQ:_J!;N^[6.2?083FN]N5= _$\_'O6V/MT^@W
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
M+>T.T3!+]6]Q5:-[MY4SVZU-M1 S"EJZ'*G4+:VE?S55F)(5S)/$)IE)-*.
M)"L([:*0[(;V&6=0[_)N5_SC2O>!*+X+W=FCB75=1 E*L @XY"Q((0HS"DE*
M0QABDL9Q%E-)K>R #C+,;K>F]\9GW(@^W,']BW&-9]<;Q!,Z:?>'WHY_=M2P
M^RN@&]51VB_!#'R>1A"9N2_-AG)CP Z?5AY//>]&/*JIU32';*G/8GLG[\F/
MA8P1EU$8UD4*D8PPI"C+81[0. VI2*(PL&$_R_GGQGS=K<NZ"GM@706J7:@=
M"]HNB!D#C@CSR.S71;@.+'DA.WB1XUFU8=2&0J6#/PYT!,\3_]G./BGW.4)S
MS'NNPURQZZ/#02+TV 98_:$#08K5P]?BX7%;?A$;3<GD02QDEN0XPBG,6*J.
M[)AD$,<H@C%+,QK2$+$HL]X7^I9R=ORI907?:V'!II+V!CSOY77807I?6(L]
MYFLNUX2[4,=0P7JQ&U7!UV:QOPPOMMNN=:S%\+FO]2[C]#O?L6 ^NS<>;3+'
MAE/?_K'^+C:K:JX'L6*%*#L6C>U;LMG\5--6=8070B22HS2#/$,$HAR'D/"
M0)$$*,L(2SC"5GVE;&:?&_/_\^_?_@[N=3N9W>9G51OQ8:\,((TVECVCK%;#
MC-9'PWADNO[G-W 0'+22OS#2DBUHI:_<Y1[YUPDU7]V<K.:>MFF3"RPGO9F<
M!G'CM_=/S\OU3R$ZSN]?Q1,5FT4N$8[B1,"8ZBI.B<00BY1 S+'Z!\EPDEOM
M=B_.-#?>JN-,UBYQ09?1-.,B+QB-S#NMC"_B<<#OM9P>[9*#6'ABD\OS3,H<
M@^H>L\3P#7:,\._ES](]NZ+9?=6Y$Y]W6HX[^7]V9*/>V.7/^L?E(DV#/ U"
M K-(<PJG#-),2IBR.,[5'BEGR"C(90)9Y\9*M9S:\O7O5E)]BM:BZEK^W_MJ
MMTZ^SOUL-[/5&YDO)]!V/@O/UZQ*KJJ;BOU%'H 70H_W('P5SVJX*G]RU?,R
MZS:[K;FL^[,J 1=49]_*!;$WSY"7YIGN=<^->89HW/Y^_;=YPH6KO^YZPNJ3
M':K_JS[;4X@PR8=_0BS;K<.44[IL/II(O7>B:C%=-EOGD"0HCZ($9@3'NG>(
M@ 0E2->9I7F$ Y(3HPH./7/,[6._#P-MQ;1A^/,HFGR2K\9F; OU,2S#QPYC
M?&R^7%?C-/T7IVRAXXW0WKX&O6#TL_CY6R=DWU[97[)F_Z57&E_$YGO!Q'EF
M_KRN>@6(VLI=5J&VW=^_79?;S^OM?XKMUWU'[YJ,/ZPWS8^JFEZ+"..4)E$
M,9(4*D[-(&59" E+TD!$C,7<S:(SB?ASX^B.;,T^[0;\%&3C:C*:YAFPM$/-
M;F4G](&>B<2[ 7NE6Y>GUE+]=*O6?@L.BMXT55"JK7M'V1'L8Y.ND6^CVS3"
MOXXE;]*%N6@>G%8*Q^;)=07V.M&:_6RSL:L*Q/LNK>^*DBW7Y6XC%@DFZCL6
M9Y 3ED$44P+SG,>0RBB/HS 326P5HV@Y_]P^12Z%T6TA-_MPC CDR,S?]NUK
M10>M[#=U$?0;4)5/KA0 !PT\=FMV@\Y7#V?+V:?M[.P&S4F_9\=A[#BMW&P7
MOY(?Q=/NJ3E:IAR%>9HGD.4<*;9B.21))F F\Q3S0#$6,>J,<S+RW'BH$<Z,
MB$YQZJ>8J[0?F3P:N3QZ02]JV_>^JYLZ[[KZU^$]/QUODC?XHAKMNWGY N=2
MT\=QQ?M >BYI2".9P(BKEQ&IS0+$ZMV#-.."H832),EMZK#US&7U9DZ0//LR
MHMZE*V8?L&9[ T]PC?PJ&^8>J%W!=KLIZ&Y;U1O9KM5QT7=-IT&X_%6EOCC3
MU)6IAU0^4YUZ\):9&><6 8YR*=69)4Y##%% $,0"YY#F@J)4'6:D79VYT22=
MV_Y")PRWLM7E\^$9?ZCXH?]N26_CK?8K6]QF1*T>C6NW3^N=3[(='?ZYV\W^
MAYC()K>&.7YD=&&:=XT3\%[=NL@QYC1'&:1!JFN/X@QBC"D,1)B(& =)*I%I
M^:?NP'.C\%8VH(4SK_;T JM^1KT&@9$)T$QYJZ).YS1U*N;T8J#)BCB=$[];
MO.GL[^U[H]\3NEN2S:>BW!Z57C1LB'YQ@+F]7XV@0$MZ RI9S9N>7X:I_Y7S
MAM#([U\7G%$J11H!X=3!_/*HD[4M'U2LVZM\^&+[#^;[U;;8_KSE7#T39?.?
M3\5*A(N4BEB&7$").8,H# 7,&8]@',1YE@>1I,PH[ZYWEKF]ZK6@H!'QIOT+
MT,*"NY7%U_4RL,.?6B]PC?S>.R-E]2D>1,+INWQYU,D^TH.*=;_8PQ<[EK'1
M7II;]N]=49<).WR;4)B':4XS&)%8;9TS*2 )HP2F*8JYS%@6$*.DDL&9YD8
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
MT222%OTD+6>?VPM^D!20O:B ]%?*\[ (_30P.K1CNU*J+K<'V4$C/*C*B+2
M'Q08*DWH 7";5E4C C]1]$TMF&9J<L"[*OX)-H=5>5;W=!Y[;]VM'/'K[WME
M.^B$';$<]7W9*\MU$/O";A]79:&NO-_P*C>A$*6:C=WR]?-6\ ]+\F!:X&UP
MH+FQ?2,PN-\0'6$*6K$K"XF67? JJJ11P;P(W#"D_83O'<W13WE60(+?M?R>
M:L49X^14,VYX],EJQQDKVJTA9WZ38UD'\EQLR5(34=L+1)=X5:2TV1;_77W6
MZF9'"XQ8C-51$5)!$HAPD$"<<0DSR@C"/(QS9&4I,IYY;JS3$5P7W7XJRE)G
M@K"U:?=Q>^S-K$FC(#HR\W3!;(6N2EY7]:WW<C>=Y#S6AK#%RE>5".-YIZT7
M80O'2>4(ZP$\.?/57]J?-0;SKZ(4F^^BO%WQ6\8V.[(LJ_\*_JD@M%A6F>6+
M %.6(A["+$M#'2V((<E2=8"F69*'"*=AS*[R^CL*-C>V:R0$RX.(5P8(N*Z8
MG8MORG68ROW7#3G0?]__HE'L!K2J51NW5KD;T"[B)X-%O#Y&X4K$QPIF<!7K
M=:,>K@1S,#SBVO%=3)PZ8Y .)Q72XZ3">[)Y$%OU'6':Y/(@%E$>9D(B#C,6
M1! E*5(D+E.8!W&09Y'B\)R8VSY]B34W"O]-E%N@M=!'NVTEK.[6W$AK8Z7S
MMG F]M+76(Z1F=RO8J^R<C:&U]=8P8DLLO>/XO15JAI=Z_8I^D5;2R#^O2NV
M/YO^3$1K!G8K;6<IM=J@_OES4R: ''#Q9KGUO0#])EUOLTUHZ_6-T$LCL/?1
M78-_N)#%JMB*3\5W'0FYU1\#NA3U%N#]#[;<:;O?/]9K_F>Q7"Z".$MQ%H4P
M9:%.I0HII%E*H1""2A%DDDNK5"I; >;V!3T(#$@E,5BMMZ#<T?\2;*L;'Y+.
M.=<V@,AR;<R.06,B/KHQNA4=5K*##OJU]."7O?R@5<!CO*,K=M[BE"RGGSB
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
M JY?OW*O[@U8B6J#LB4_++<DOM;=<!/S"JLY]K;G[<<;<$2'-^#VQ9II=6[
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
M0AX(G38I4X@Y9A#E640"D> HMS*K=,:>FRFEZF7K;H;MHF:VU7?$8F0F_60
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
M'RR$)*)(Q_G&- [#-$=&-3OZ)IG;R]O6G*@%K6LW*E&K@H[FQ^:+D Z?G7T
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
M3%"4P(!ZH>_["&./=P'G>A2NT:O6+-\/))^8GK<R MP)>64BRA-8!Y%<$5D
M?8<QB%Q$8!*)[0$)'()"+_(=US#^P@[2,RZ#L^"LMV991F_BU>AD.LX=FK<7
MT;P^I^9Y?*9*D7FBQ]?->'D>@HL)+ =>O?9<XF)IJNI<;:IFAQQC-U:AKGZ:
M"EZ*71\F/(QADJ+(21PG$&O$N&.+*R5;&GOU]]LZM?:JP6)[UYY\7#OLI@<C
M,P[FC.<F,XSC%6<KEC"W?O1RK5RO=#)C"<[S!S>V.ABW)+PM<N6=\H^L_OYV
M4]7%(R\_99ADZZQ^^<J?>;Y11<&;$_050@&*7#^%3B(/;[ ?P 3[(228^4Z:
M8#?TC8K^F76_-')O!:S [H[!C)D-T=>CW^DPG9AC.\'!#R$YZ$2_ 5OA;T K
M/OAZ&7!C"AV'FR6>-.Q\5C(<!\PAXXUL91RMJ7H@DD]+_EU0:O;,/^94]"A3
M0!VDB;H71%O)K.+*>T_]M&XHF/W7IJFQ_IG77U)AEJ]"-PC]F& 8TSB$R*,Q
MQ(BE$.,X)4',HBCT3.AO&C&71I--->BTS?%&NQQO]4ZC"C3Y]\S8<Z)!UF/9
MUQ^ZB=FX&;4]#4&C8IN([P8<I>WK::K<G'NZ@IVR-T"FH1>&]/U ED5C^IYV
M0"S1_$1"SKH<3 OTX;(Q<6\C0[;/7[;^CO^K*-_*_(*?Q>1Z5SSB+%_%/.",
MBW7#Y=B!* XBF#@N@21U/!8[811[9G'<9OTO;4&XE A=Z0"4$D!J ?YL]# \
M]S =)3WBGQ#[B1G=/NSF@>/CP+,536[8^[PAYN.@.8H[']G,R#R)E&X>-VMY
MW=9E6&U+DFPSKS;NW6VR!8KC)/!P ",6!X((0Q?&S UAP' 2<"ZHT#$B0L/^
MET:$*F=,*M,<?Y>BFN9%- 1?C]\FA'1B?NM)WD\8K<S-F\.4TC=MW,$4%8/'
M(6@K4Z)A[_-F2AP'S5&FQ)'-C+PVDZ>O9."$MCV@)8<'M!]P5LI+/,F_F\?&
M04,6WZ!-FOM'=Q7[E"$O36'@IPE$#O(A\9P04IHZ4<P=YC.C X7I1%T:=7;"
M 95E]A<QVU\X+JM?#:_&IAM:S;NR10S8U)=G&A=F@_=E-T"JJYP7E+G:*7P#
MMI^!U-GB==KDPV+K?FTZ0>>]<)L<\*,;N.E[-%MN_K5^J<9+U83W?<RKNMRH
M6T-U<'+_'>>M9^#?>24$O,W95M9"_NK+IJ[$-D$&J_Z#9P_?Y3//O,0/O',P
MO"LSRE<Q"YA#(@?Z/!*6>Y3&, Y<#FGL^@'S&&$ITEFI%JWETA:YGMA-]KOM
MHE> 9Z&66O?^^/8.//$25!(QS?5OT:-P8>E<M.P+6G7?'WPL-^!'*SC C>3@
M0<!5 R;L:)#*!?99+;#RHV+%>BW,J7^S#XL55+7;)-C^M__ ]M2=T@WB232G
MG)Z.OC#>13RD1?LA0848H'L5X/?MP/YS3ZT=B)7?E&RE2?4!LAW"H%!W5;7
M&!2=97C(E?]QO77XE_@P&L-2BJJL15?\3UF,RQ9^%F-SV1 <V*E_#6''G:CT
MKO#$X$C/D"S?B"[;NM5"O#>J#E_SW#W^R86%79=8])'EN'Q1:9<_B\&6/B5B
MI1*O?LR%02846%%ACKH!)1"Y 8((N1Y,O"B"A/EABA%QJ8RHUL^*-*&L1N;F
M#.F5VNO]M@9BUOQ42XW,3E6F'%Z]8Y6%#-K$%MZ>.P:0/ =VJH*=KMV(ML\K
M=6_ OGJ@T\_>(<H,@V#I%&5*26<]1ID!\L-SE#FZ''&0LHVHE,&1=V+&?1=+
MY)V8/G=B&9,V\0/_DKY?9^I^M+^X*C_%+C_5R@L190'QQ#<3^A!%B,$X=%,8
MN9AY.$"A[VIE+K(HT](.*3J!]TUZVA?Y1NXC6PT-]I&6QE#C.&'^D9EZ\]\J
M!)1&H%,)2)UNP$XK\"4%VP'<.YO?TVS^03/8JL\_>/-OK(7UWIM#TGF2MUK_
MKPKPDS-0Y;>B8DM,.-A4S49X.RO%E*R_E\7FX;O<84O>55[W,E><2ADOGA5O
M=GTT*3?!4_<5/0DQ;>VG[8[>X.[74E?S[57M8K.WL[3<]+A]8+MCK>X+E3!7
M&@G[+DLK#SLA\Z(0!J$,@&<XA0EF">0N#2*61BF)C?)C7>QQ::MK)[":D8W(
M8F?6R6RX,;N,M][VRBJ*$Z^$?0!;:8^='^UM>K2AL;1UN=S?K!L0;?4/MQ'Z
M+XZC&K'#8+S*'G+I--0ZQ"&>."Q** P]P@6YI()<0D0@C7@:N6E,H]@W(9<3
M?2R-3CX7-7BWE1'@2GG#-?O_[JS0C%-. 4N8$V!*"8Q2CT+$F0>QCRGTD9<&
M"7)(X,:K9UZ28B9H^WU-Z&!]&.(D]KWJVH*VL6\5R 7^; __[RW^O?N,ZP=
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
M.@2 @L!B-.*\8V8K1G$FJ>>-7)QW*([B&6?N?F1=[KT]S?N?4E"Q2@4H<DF
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
MJEDN8TZC9#E[L!8DXR]K3K8Z[[W-D&)'5SB##X]*ZY+RLE0I)QNVV"\HWUD
M&:]6'DM1B"B'D2N69(3\ !(W] 2H(6?4(Q0AK8Q.AOTNC2&V@H*UE!2L=Z(:
MI1[1QGV8,B9$<V(2,91\&G"-\KI, ?),>5UN'V4B%T!X6L@L"NMUEW2S2,&S
M,.:;'^3O?\@RP97\/6L5!C7^"7"SE:SK,B.;IK)=78A'5'I:]1-_?"I*7+X
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
M3?4W\&>GB\6#NLN 6;(P!CJ:U:JXK/"A):'QQCA:V49]RGWM[3/.UDV9T+:
MJ+3>OQ=KT5ZE1.!L.QDX\6@<X0B&?LPA<GP*21C%@G4\AW/JI(%GM+\9+<G2
M2.D=SPNUOA:E(?6,'PP]9IH%XJD-FUWP>'N@ME6D33BN*B?W=+D!K3:3D-?5
MF%KBMO%RS$I]5\-UR(S7-VB]^-1OI:SQ05W/"8*403?%'D3,3V <"_LL#K!8
M9:D?(1Y8JC.E.EP:#<K\L-9*2C60ZK&<3: F)K/!0E&"N)2\L]2#VD-F^M)/
M37=+J?*TI[Q!0:?]]\;QR+8X7GL:](;G/,WJ%6%^D+@Q@1YS';&IBS D08)@
M$(9.RL(P0<C(O#K3S])8HUW::_Q37CL^9Y7Q6?$Y0$.Q)T]25R:$3S%$/!&
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
M3)JPCOT6L+;?1[/ _C/>AAV9/>[&,%G/\0JP#9NK^M)I]ZX<[6W U+M2;;
M^.!5 7CSIM#V31'J3?FN,/F/ZY?V\::J\0?4>'J1#^5_>J$?08)1O(/QD.Q<
MBA%''!B!:)>\.W% ?+\GKQYV1CE+T@1QF)$P@P@%*22<A3!-&0KR*)7[*:OL
M!<OQI^8Q=$+K@^#EXAP7FY;?<)D8.CN&00!_F'O?6+F"V_Y(?AAHK@[8+4<?
M][A\&#0'A]\#'S.8$G1[P+Y@'6/UKWS!15FKYL;5UJ<2292S*$]@GF0I1#$.
M89'3&"(2Q!$789P&A24)J/'@4S-Y&V[O5EK=TMN:^],<>S.;Y@M1W_N4?EQ2
M!Q:/H:O,F<%.8PB;IS5H[O@[S8<>F['3&I0C')WVSQC<S6#Y+'W"G^]TRZ%'
MOJ"OG\L%_U3SYVH6X3 3@G+(8D6R&5,!"Q90R..<Y(6(449SRTX%IT>;FJ5J
MA 526M 3%_RM! 9:8DMW[#S69H;*&8*>+=,UX WA_[\,BCMN_S-CC<W;?UGM
M(YS\!C==T62L1PPIAZA*UG8P>UA)LR7X:L79C%'.$:,)Y$+9E8!SF*.8P8B3
M(DD"*GVER(H/R7#@J9F8'3E!O15T0-<R$]S-;(P/-#V;&RWR+N7M+K8/!M@.
MZX]F 93+#FHFPX[?8\T"C*-=V&SN']Y\^N-\^>/_</:XI:S :8)P$ N8$$0@
M8C&&A.$$9A'*2,9Q'!(K>I"CHTS.^JA3#R4E:,6T;[1[B*3A?NM:?,8( /6A
M\=$,X1P&#ON_'HXQ>J/6DVH>ZZAZ^N*!;!U=MI"BF5Q4O)JE1<HY80',65!
ME-,<DBQ$, ]P$E&4(AY:I1<>C##-/,+E)O.-MW):\G(< &GVL5\%C^</?9L-
M^.$2)O;4&Z?T=L6X<?#\<8DV3JEWP*]Q\L*!02?^J**]7_F+BG#I!LIM/+87
MQ@Y1&- LA'%.&$2I""$)5-]C6F2)*,)<:FP5:+H\YM26]U9D?2[X&U\^KO#+
M4TG![8IC\&FA4Y+L\_),L#<,([E%U+.=Z,#<B-OKZ>KI>-4"(%=A(H,1QPT-
MF4-P$ ZRN'7X3F)P]_>FGJ(COGW/F_]O>L)_^$F?5-'&5USSIJ'FC%,2<AHF
M,$8JVSBF 2P(2F :I4&1\S"-"+-Q6L85?VH>D6J(4W:TP^5")^_<'$_A66U
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
M7,-TCODG6,XI<%A=8?<UEFF:KB=:!\>#4DPF.KEU*K67*2H6C=5@0U12^\;
M>YRJ<3,$ V&ML3(Z@-=M04UX=$65D!FD5(?3&\ZB]9YY$ *4]):\@,%#N7$3
M P/!YTAA=Y!9>BRVG= 1SU,=F( N*J:Q%C,K.NB3<KDR9J1_[E+?<5^=/'>N
M\GBU-(/9\S2Z?;]1PV=<3Q/YT]=X.++K[?5/'K(%[@,\/&<_7+2Y9B2!23(_
MA!+N670YL,A!@^((X%LW6GB6?KBSV>+W*NPWB^7KQ5E<E[/9[;Y1$RY,SG40
M=JX[@\(3QZ(/) (!5GH7>6Q>.+X?96/GH1HCYY8#WUX]'3A6U_-LM,'?+3>2
MS)M,RGM<;J;;34*L=KTD9A(OY%- [4"N+',Z>^VX4 D&Z.>U!V5C)[0&!MT
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
MHLEGMG8#*:W?%.*;Z1SFZ6Y! D>1?(K$7 *FM7?,YU3'@XL0HTO<Z&=*(3Y
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
M'12,[)I/W!#:+:XPHW&Q&.(**6C-%&6"B)H5-"!0H@JN=2BQ'V7C%I$TQMJ
M2ND :G];X;ORTVH]I5@85[4+(P4;)!L'M;(*L#!?$)@17*/346K1.F%TG8)Q
MIZD-!)TCA-P!1%XMY@GK^Z1->\+IZA^OB(;INGXU\:8$)6-AJ=8U:"TM"[GF
MXUT$3LZA!=>^7.1><L:=>#80>%J)?T0D;8[K5[#Z7/^M%\1?8;8K;/GX>;%<
MTPJG]/4OB_E)_?+M_"ONFF?>;6.]*U8I91E8R+2!2  Q>V"6>Z&M5*K(_693
MM*-IW,EE0[A7(^FK X/W:0D9B;]-XY:=:%<?,"')(<YPR]VD!-IZEG9<$K4X
M%<&SR@TS/G(>K :7>&/3MQ=AXTXH&\@(ME=)!SC[B.EL.5V3C-[]/L?\VV+]
M 2%/9]]_A>4_<'V%,:,=\MJBLZ@<R*D4AL4"@AF3HS5DTKALC;6]B1MW'-E
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
MS+6& A(+40-%D=E8Z8N6LO53[H?H.3HB./_L[73,_^\,YNOI>MO#['*U;45
MCKSH1!L35"+636W3G17M3J%( AJ+D*U3:T\@;^2"GU:8N14-#*2@#L[,"]9>
M?K^]P7^I)4R;4CW#E2MHR8J;2%9<U&'"4@IR#$JPVFCM3.LQ*?M1U@GB6@/C
M/@"VTU)/V/L5H0KJOF-F]U8\2^<CB4YB]4O :^93],QEB!Z54"*WCE&?1& G
M2&R(D/M V%Q=/6'Q[?S+V7JUD9@X?USHN1=.%%:4KX\V-FUP*!Z/7I5HDE.8
M6E^</D!.)SAK#X+[X':D1CH%E]RQ4F)T)OK >)2^)A'I@.#1,N<\&' )P ]V
MLMXF9]P*M''!=8A&>@+7R^]7Q/9FB?]UAO/T?=M4H62+F?:++**6MD-@7DK#
M!'<A9B>]R*W3('N0U0G8GL]W:Z*?GB!W%T.[W5E(0+F4FK^.G&FM:@<Z9QE0
MJ!65LY:GUC6U>Y#5R>'9"@I[>&C'Z*53J-7ZO+/E<CH_V5ELA\*EDE.=%%\S
MBZ:PR)U@')0"KZ($/UA2Y &Z.@%;*S#L$PX<HYF>T/;@F7"9*\\)8N0F,D-'
M  D1R 4M])5"IVTV09GFK0"?2.*XI>'/?L8.H+<.8/GK8H[??X7E/W#]YFR>
M5R_6KV"Y_$[;;,/T).ED=1:..55WF:O#?;*.3,0L2RY*6M':_CU"4B>F;P@X
M+(;330=0>[4X/<5EO?IY#U]P>9,;E96,.5/,%;AE6FFR["@30R"A%0W2A]9(
M>YBB/T(,T09H#373 <[^]O'GQ5=<SJO7\.*$7)(IKBXG/=UDSBHA$[>:J:3(
M62D169 YD$-AD_<!K"BM+_R>1. ?X91M@\+A]-8!*.^Z]G[W^QSSN_5G7'ZL
MC./T9'XI@7=Q-CW9Z)E8OU #[469#:?-%\'7+K3"TU[DFB7KD1QMG8QM[A:V
M(7W<=U_/">0Q=-TSQ%\MEE\62UCC:XSKJPPF3,D:H9FS6M/!@I(<&"58-BDD
M98R+KGF"^JE$CON4K O8-M%?!P#=%%F_A/0/S/>?*^BE$R%S.E)DKFF%Q (@
MR;(HU,HK(T+K-B/[T#7N"[/GA&%S+76 O'NWUF6A=IT*OCD?S@MGSV#VXF2)
MV^37U5VGA=,<@F08?;V<JH-' Q2F! B1K8^V^>N@EO2/^V*M"X,ZM-9[1OQ5
MGKB"8E)"ED1,='Y(Q8+QE@G@"I70=+RTGD&W#UWCOGKK J&':NEPY"W6,&N#
MO,7&NWYU1FO/T_?SC442@SB=3=>714R7XIP4VCY!U%/$0TUQU&X,*F@F<]*Q
M1.*^M&[R= B=XSZ2>U9D#JW%GFSD.5/DZ-S%5@A%&C+OK!CNR?1+SB#3;YW#
M9(Q(!L5@8=+#I(W\HFX44]E06<VLY7,^2JE/?.#62Y_A'J8\O-[PCU.>P.]S
M/% I-@DA,%3D0IWE#;6G66 4 J'5T4BTK9OH]_) )4+0,8;,2JP-R:/U+,C
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
MR_=2]$ZUY?M(O0/H[%TRRE+(,A0)1OH$M<<6O*A#R[6-$460LGEOV7F5^C:
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
MJVEW(3N=.,F8>UG[$U% E%E *9Y9"I6<#*DQ.A^CI=.LR6FAV411/=_1-QF
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
MIQT)^S2WC>:^WLP:?U=N?WS=X%GI6:Z6/R#[9BPY9L^]#610=<:R4EE#9#Q
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
M^F,SGZ>)JFF+C:?WT=7]_-W/EG#.?]D&PL\W4(RTP-AK*P'2F **0_2T)55
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
M?GMVO:0@_NYU,Q^OI@X2122F*'6QA#2K.F"@"+%1!A1"'*V&0;GO#.6@NVS
M_AIU?#BUJ-<HO_7G\!R<98C%4U)YD5KYE $*.A4EG[IB'()!Y\Y(Y:"[;+[A
M-6Z%X=2BB@[/LPS F_M9@GFO":#041JC9H4BWSC0&#5["):C:*,B:W$IA^9,
MRLMF/U[CAAA2->H]';ZL'AN+#&VQ_5%_G_O/X>K[]\G8IIKAZG7(^*./X[OQ
M8CVMF3JE*48.&)6JT4BJ* *H@81*!\R,="+W(Q@#L%%V:-1KW"H74YJ:CY(1
M<EX(S?6J#8/:&#D93R-?VDN.>!J8GSM[TR?8'6SXU&O4X+/ ZQGLOINZH5+B
M7_UMNO^GI^Y7W]S.]/=O8WL53[$/T]#,[E8/2F;H#N_RF0S)[][<9<IXK^GX
MXK\WLV3K'E.*SD@;N)# H]0\);P#VF.3&A&TY]8J17*GNP_1TM?(?;I/[6"?
MPV.Q?/VA^4@8IKD($! 87/1S' *:1C\'00&#% P'F'N@[4%BRF;ULNC!KH'*
M(_@*',P-(ROQ+(__#2>6:<&,,,"[=,W41":B=^R U8P%KXDE-'=OPF%JRF;-
M!M6AGJ*OL^S;XA3XXG_XZ;V/O[*Y(J^?W8[_Y!?F8?OO#GL6=B;G,F=F'FD-
M?;9*S)UG,;*6/,V/YX0 (R$$F%NJ<8P2",S=RSO4V;JIW'\.NU]XALHO#^L_
M7+7H8NB<%1 #))-_"K4 BDH#K)$!X2@$)')WG78@L]+S^!S=V;6E0X-5\*2>
MSQ:C%)+[1/G3%M>3Y8V4H"@-WAN @D: .D0B$\H K3QE@2!B6:M#.G[EF;;%
M_WK2M*,$%-:EH6%O<F-06I%6DGC.POJ.BK5$"&PTP&+Y3 +S0&E!@: A!O"1
M">>S*-(A LHH4D9@F]Q2+J@J=G7;:/3;U_3P.8+!!. #4>FJ;?1PHW.;G%(N
MH5'$\&-#R^;>_OMM\^,_UBNN5&/]'T^:\?2]@FJ0![2FEP1KB B;Z6_S]3TS
M$3".\0T!TH5H*UV,2(RU#,2H5BNG=?S;N6_=/_M\F9@OOR[TE6P%AN##IQ'B
MP8O4>F<YYH!ZPH$.6"7V)<.*:X*/M=N<9P@^?"K3&S"<(3A3@J5?C%D.E]X.
M*#>JJV$\^B0S0#@>HCT340K1-0<V_M,9K!23.W<)#LSI.OR-,G7P_.#G%&4%
M1\,1)_OCLUL2RD:!&(!1>KM0<0.4T X(#J$P1EA*<J<-V]!5.(%XH4!E,*0J
MT+YU!FS9W]%,ESF#?XP7W][<SQ?-G9\]52KG<Q__EPJ'(RI]W+5, 2Y<\N I
M!S)N*Q#ERA#A+.ZRW/FH#F36E9#IKRLO^O"'!:ZS;O[P,]/D."T/SGB-_[[]
M\->+89[6ABC;H('P" +*4'0$4V.%$]$_%(I8K]I-O>Q.0UVUE6SJ=TEDZBS"
M?/*+U=V::S_;/(44/9JI>SN>W"^\>_'G/2HLG;^5H7R2A\],M9%W>I;:8^:;
M;SWFMR%2D,43/"HM95&? @1:.PP(@98Z1*VWN1VC0[3TSA%L!)HNYU_]B+),
M'LM-DZ;+-M.OB\;^\:V91+LQ7R+Q* )&I<8TNL\(.A*W,6; 4&]!<"PP)BWU
M[;+5Y^03NI%:]DC.HD,OT@\7 *T"-W&+S5$:/XNL)C%6BV*BZ1D)A;$'R'H1
M0C">A]P7W[<(**M'%X'\F)J=)?_:E.>HP-9'R]-,94PM%2BRITF,UK#6P,3=
M"H2FE&&8AN#FOG/0F=BR#E]AX]8'N HT]!\^^:F1_AB\Z%N_:2):2G+^^7XQ
M3UTD4;S+#3WR",<=+"B@D$4?EB *#+(20&(TYP@'8G)KY5D$OA;SV$MIFDLA
M6#00WK"W%-7XA__J[?UL>^Z\M@Q&44E@4H\<-9)&^4$!B"5.Q[,%4YY]*-M!
M:LH:P3*JEPF;"LS@\M[7LF=NLA;9<OM<+1:SL;E?K(3Y]/SOM7Y8!OVSF9[>
M^E63)25*")(2^IRXU+NI@ S" $&-440@REWNFR#]J2[\>%(F_7DYG?*28+X6
M]7VC)Y//WY?WKZZF[A_ITD1BE47O6R&+06#8@O2,=60U>DUQZR.'E6$&#3"N
MIRNYA9]I*JBP&>![+9J:LJJ+A]^FX\7U_<Q^BYOTZG;FUUN3Q+WI/6)I\*=>
MM3HHZ@TP3&@FHLOO]0!/-_0CNO#34 6U-AN4%>CN 4][[5&]<+A'QA"&M ^
M*V93@P8")GE:%C-.6'#:N-R7ILXDL:Q>5A4O94&Q@D=C=],AVQ=S'R5HE>,L
M?AXXEY["95H 8U4,!ADW4@NN9?:!UNTH*ZN2@R23!H"D FNXR]4FO\ IT9H
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
MU]73!T#]34C"Z*9*PCFJ%C2Z6OG5-W[PFZ5L5^Z)TP*1/U4)6&%L \ @<QT
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
M([C*;S:$UD*:Z(-GS5Z7O7OC3.G?:;^':7G_F(/Y3WSZD2QL2!-4C'@SZ?.
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
M4X*._R^QL5CYAG5>-!TQK<^G\ $J9V%7IWSCL]?RI_\"=]]]^?L'4$L#!!0
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
MW3?YAQO+YK.^/-TQE[9_ 5!+ P04    " #VB%98%240X4\7   #C@  %P
M '%L>7,M,C R,S$R,S%X97@Y-S$N:'1M[3UI<]M&EM_W5V"=FHQ412J2K-BQ
MY+C*D959U3JVQ_%L*I^V&D"#[!A 8[H!4LROGW=T PT2I.0D%FF6DK(MX>CC
M];LO/)_61?[B^52*],5_/?_O\3AZI9.FD&4=)4:*6J918U4YB7Y)I?T8C<?N
MJ4M=+8R:3.OH]/CT+/I%FX]J)OA^K>I<OO#C//^&?W_^#4WR/-;IXL7S5,TB
ME7[_2'V;/DZ>/3V3B?CN\5E\G,6G\NQQ^BS.Q+/CL_3I\?^?/()7X7%^Q]:+
M7'[_J%#E>"IQ_O.S;ZOZ8J[2>GI^<GS\MT?TW(OGF2YKF,S R_PCC[$ZDC 3
M&*S6U?G)*8Q4RYMZ+'(U*<]I?X]X*/]XHG-MSK\ZIO\N\,XX$X7*%^=__Z *
M::,W<AZ]UX4H_SZRHK1C*XW*^$&K?I>P1IB$?IWS^I_".+DJI=_/R2ENXNIF
MJF)51\^>'IWT=W"WM2< >6FVM/A__NOEZU]_'D77;RZ/OKC%7[[]Z=W5FY]?
M?KA^^R9Z?W7Y]O^NWO\:O7O[^OKRUQW>S-G@9E[:2*2Z0C+69?0VJ74L373Z
M9(1D^_B/;.>WQM8J6_ E5::PN_/'3ZK/3R?#&_QG(_*%!50KDZ/HH)[*Z.NO
MOCL]/;[P>]L*"NFB$N7B?I8P#!>"PLG%8:1LE.BB4#7B0*UA'48#.T^TJ;0!
M_AY-]$R:4I2)/(H 72IAZDAG43UMWT0N/HH0MFYC./C)TPL;_:"%2?'I5\I(
M0"YC=^8,:&D[<0)3T1$A0S47\U@D'Z-*YRI91(G(<[K' ):E%;4"<GTO$SR;
M1?2.G]L5T/)R=@&V1]$' (D##T!6 :L%ED2(GC4&X&4&\;82BW&FS;B2!OXI
M$/FC:JIR;74U742BI!$ ^ZM\$<U5/8U$5<$D(LYE!*=GHW@154;/5(JZD6ER
MV)N1.9P;_ JOXJ2@/EE=PBOT:%'5<,4=*%!,(DTM5$F3M"<.#T@U@_7#\)?X
M*/QX=2.3IH:KN#T:6,Y0/8,Q1!F]3!+=E#3M>VEK(&BD5H:+6S.-3!3=@@I6
M.#2\C4I=1ZFRH/KA6\(L1I&\222LW6TJ5\ 0X#7@_K@(A@$N6.9Z/B+(T;0P
M',)--[CK"7()&& ^E70D8G7V:(Y44D>9:')8_J6H5 T"YW<\2VD*"UHH_.@
MX'8AC(Q2F0%V].;')^BRPCU8H#\8WC8Q0*>DJ10@0U*C0%2U[4'):ECM3,DY
M'>-4%D";1F9-GC-Z%< S<13<S$(W)FH VPP.C'CPAW2='9.GZ^DIH :&\USE
M.<"='C(58 P?D(A@$26<<@+ 5Y;0A%_Z&40$0OGD^)7'1[C4&#@GV,#533(5
MY40"2A-RGSQ[?+8S+"]<W"XPOA%SI1[,W@,70MB.3]SQP -,LI;X Z$I4*+U
MP"\)Z44>V>X4I!]QUR"_"U!'EC&?JH3A&D#- =2)&6),"'69CC8L.\L^\[*C
M;<),E4G>D'1$B.@L4XD"5&N9!3+B2:-25CS_!.?<DIGX#O@^2A<OR4!B=Z+I
M\PN"TR?X_[T)@EB5[BQ!])>@,R62="$Q 1W&UA%HL'=@%G_AHM<97LM*S=']
M+&<CWXA>#N@[ %0I@),@8$&% C,66(O&R]J0,@1:G@$]Q@)ND!L.]:/2 YGH
M21H_@4,^-L=0!H-6:(BTULJ))V)\<I =1@=B%PZN50V>1&]Y:SMP;LZ\N'3F
MLP3%!HRP&%1:IRGK&"A7L&%]")KCOQM0P?'\\$>PB <57;3!X4R)E( /-J;T
MNG4K/O  /Y9Z#E;AA/1YN VZL6T 7P8T9Z>'Q6 (M'R(E6:<([1B.@ZU;#EY
M H<S(+0<F,8I[[ ]W#LO>/DAW!E-^_579T\O"!*X0TM"H-L4V2A?'L]_F19@
M5=C:#-A4>Z+[]QP0B#X?1(X(V!'!KBB&[8IV0S/, @Z,'A\T&H%]YY(9A&C
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
MQKF<*,[...Q<)D,KP@PMRK8*5.<VBHVQC;[AZ1-)C,PT^]>7LG!\@ZZ].-/
MI4O98+4+X-N-V0"C3Y+]:+R3VPQ_(4>3(R.+:4Z!51S:PVC:<BN)C=*[J[.Q
M [8Z7,%*4U7AQH?&.8I^%"IOV FXIAY_J41>F=ZD*^$Q=E7X:K #+Q=(CM [
MA\LJ!V'O^BUV&@DJ2X ]=>/?3-1,Y>B=P81'3-\;!35WZ(B S>LR;5H'2PM>
M[NM'&4QY6WZL) V S[L)AI1 7>$,3>F:VYC A6]T+KD>*I5@\7B'CS][?^JI
MM(E1<1?OZR(2%,OFH'^>^QAW0'RDP^(^9K#NE;I7*GT69<A_0H<P9^JL<PGC
M[;3I^T"=3W@9H[7QEEG .];A/\<(A^*#-*,#U(K;69MAC7D)+^0=L)S&<CC'
M+O) RUV#^*BIA)7*.EOV37G,!P[I"[]QH_)&8 2*R^;6M')3Y4SG,Y_H 9<9
MEX@0<NDR5S?F*RX'BEI\8Z^8EQ4U^\\0<=K]#S?*&" WE_3KD8GWBQPRM!&,
M0>1G$X58Q)H^'#X],:R$=4[/!0.QU&/J;T>/EKH<]UKMK?2%# DD.)D9(5C;
M2Z]T_LZ0Y<!<&%].1(,^"9$C@YI,H\QQPE66U[(V,KB0('4A,=EDPD>6K)3
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
M. ZOHX\EM]Y[P*.MX1'KY& ?/J#1#@F#3SS$ ^QW=?A99,(GKF18.GQ#6L*
M7N+>/4.-P?< .3<R)\>]4Q1.6-8';SDUX[A[1<1PD* &KKRR'E?"O['S%_PS
MK8O\Q7\ 4$L! A0#%     @ ]HA66+D3K@!<DP( 3'(> !$
M ( !     '%L>7,M,C R,S$R,S$N:'1M4$L! A0#%     @ ]HA66"^3^*C,
M$P  ..<  !$              ( !BY," '%L>7,M,C R,S$R,S$N>'-D4$L!
M A0#%     @ ]HA66-8DFE_X+@  !> ! !4              ( !AJ<" '%L
M>7,M,C R,S$R,S%?8V%L+GAM;%!+ 0(4 Q0    ( /:(5EAWE8[W=%H  #Q"
M!  5              "  ;'6 @!Q;'ES+3(P,C,Q,C,Q7V1E9BYX;6Q02P$"
M% ,4    " #VB%98.\,K0<=: P (3 0 %               @ %8,0, <6QY
M<RTR,#(S,3(S,5]G,2YJ<&=02P$"% ,4    " #VB%98=JE;'S@U 0"OQ0$
M%               @ %1C 8 <6QY<RTR,#(S,3(S,5]G,BYJ<&=02P$"% ,4
M    " #VB%98_D1!;-Q. 0 0+0X %0              @ &[P0< <6QY<RTR
M,#(S,3(S,5]L86(N>&UL4$L! A0#%     @ ]HA66 "B66XQP   -CD) !4
M             ( !RA ) '%L>7,M,C R,S$R,S%?<')E+GAM;%!+ 0(4 Q0
M   ( /:(5EA*BONM5PP  ,I    8              "  2[1"0!Q;'ES+3(P
M,C,Q,C,Q>&5X,3 Q,"YH=&U02P$"% ,4    " #VB%981"MY&/,$   8,0
M%P              @ &[W0D <6QY<RTR,#(S,3(S,7AE>#(Q,2YH=&U02P$"
M% ,4    " #VB%98#6@K].<"  ">"   %P              @ 'CX@D <6QY
M<RTR,#(S,3(S,7AE>#(S,2YH=&U02P$"% ,4    " #VB%98+(5RM P(  !
M+   %P              @ '_Y0D <6QY<RTR,#(S,3(S,7AE>#,Q,2YH=&U0
M2P$"% ,4    " #VB%98#*!]1^X'    +   %P              @ % [@D
M<6QY<RTR,#(S,3(S,7AE>#,Q,BYH=&U02P$"% ,4    " #VB%98V"\9L\L$
M  #B%0  %P              @ %C]@D <6QY<RTR,#(S,3(S,7AE>#,R,2YH
M=&U02P$"% ,4    " #VB%98*B_9J[D$  "[%0  %P              @ %C
M^PD <6QY<RTR,#(S,3(S,7AE>#,R,BYH=&U02P$"% ,4    " #VB%98%240
MX4\7   #C@  %P              @ %1  H <6QY<RTR,#(S,3(S,7AE>#DW
;,2YH=&U02P4&     !  $  W!   U1<*

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>112
<FILENAME>qlys-20231231_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:qlys="http://www.qualys.com/20231231"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="qlys-20231231.xsd" xlink:type="simple"/>
    <context id="c-1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c-3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <instant>2024-02-12</instant>
        </period>
    </context>
    <context id="c-4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-10">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-11">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-12">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-13">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-15">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-16">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-17">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-18">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-19">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-24">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-25">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-26">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-27">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-32">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-33">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-34">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-35">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-36">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-37">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-38">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">qlys:CashHeldInEscrowWithBlueHexagonAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-39">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">qlys:CashHeldInEscrowWithBlueHexagonAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-40">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PledgingPurposeAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">qlys:SecurityDepositsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-41">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PledgingPurposeAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">qlys:SecurityDepositsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-42">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="c-43">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="c-44">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-45">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-46">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">qlys:ScannerAppliancesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-47">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-48">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-49">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-50">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-51">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-52">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-53">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-54">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-55">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-56">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USGovernmentCorporationsAndAgenciesSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-57">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-58">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-59">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-60">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-61">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-62">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-63">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-64">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-65">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-66">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-67">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USGovernmentCorporationsAndAgenciesSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-68">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-69">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-70">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-71">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-72">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">qlys:ForeignGovernmentAgenciesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-73">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-74">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-75">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-76">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-77">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-78">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-79">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-80">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-81">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-82">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">qlys:ForeignGovernmentAgenciesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-83">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-84">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-85">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-86">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-87">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-88">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">qlys:ForeignExchangeContractsForGBPAndEuroMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-89">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-90">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-91">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-92">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-93">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-94">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-95">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-96">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-97">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-98">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-99">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-100">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-102">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-103">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-104">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-105">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-106">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-108">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-109">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis">us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-110">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis">us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-111">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis">us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-112">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis">us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-113">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis">us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-114">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis">us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-115">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-117">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-118">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-120">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-121">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">qlys:ScannerAppliancesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-122">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-123">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">qlys:ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">qlys:ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-126">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">qlys:ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-127">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">qlys:ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-128">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-129">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2025-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2026-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2027-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-132">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2028-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-133">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2029-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-134">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerSalesChannelAxis">us-gaap:SalesChannelDirectlyToConsumerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-135">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerSalesChannelAxis">us-gaap:SalesChannelDirectlyToConsumerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-136">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerSalesChannelAxis">us-gaap:SalesChannelDirectlyToConsumerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-137">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerSalesChannelAxis">us-gaap:SalesChannelThroughIntermediaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-138">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerSalesChannelAxis">us-gaap:SalesChannelThroughIntermediaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-139">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerSalesChannelAxis">us-gaap:SalesChannelThroughIntermediaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-140">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AssetAcquisitionAxis">qlys:BlueHexagonIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-04</startDate>
            <endDate>2022-10-04</endDate>
        </period>
    </context>
    <context id="c-141">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AssetAcquisitionAxis">qlys:BlueHexagonIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-04</instant>
        </period>
    </context>
    <context id="c-142">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AssetAcquisitionAxis">qlys:BlueHexagonIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-04</instant>
        </period>
    </context>
    <context id="c-143">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AssetAcquisitionAxis">qlys:BlueHexagonIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">qlys:AssembledWorkforceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-04</instant>
        </period>
    </context>
    <context id="c-144">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-19</startDate>
            <endDate>2021-08-19</endDate>
        </period>
    </context>
    <context id="c-145">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-08-31</endDate>
        </period>
    </context>
    <context id="c-146">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-08-19</instant>
        </period>
    </context>
    <context id="c-147">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-148">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-149">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">qlys:AssembledWorkforceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-150">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-151">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-152">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">qlys:AssembledWorkforceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-153">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <instant>2012-10-03</instant>
        </period>
    </context>
    <context id="c-154">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2012EquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-155">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2012EquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-156">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2012EquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-08</startDate>
            <endDate>2022-06-08</endDate>
        </period>
    </context>
    <context id="c-157">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2012EquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-08</instant>
        </period>
    </context>
    <context id="c-158">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2021EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-09</instant>
        </period>
    </context>
    <context id="c-159">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2021EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-06-09</startDate>
            <endDate>2021-06-09</endDate>
        </period>
    </context>
    <context id="c-160">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2021EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-06-09</startDate>
            <endDate>2021-06-09</endDate>
        </period>
    </context>
    <context id="c-161">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2021EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-06-09</startDate>
            <endDate>2021-06-09</endDate>
        </period>
    </context>
    <context id="c-162">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2021EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-163">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-164">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-165">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-166">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-167">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-168">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-169">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-170">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-171">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-172">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-173">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-174">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-175">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-176">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-177">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-178">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:ESPPSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-179">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-180">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-181">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-182">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:ESPPSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-183">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:TimeBasedSharedBasedCompensationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-21</startDate>
            <endDate>2018-12-21</endDate>
        </period>
    </context>
    <context id="c-184">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:TimeBasedSharedBasedCompensationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-21</instant>
        </period>
    </context>
    <context id="c-185">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-21</instant>
        </period>
    </context>
    <context id="c-186">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-21</startDate>
            <endDate>2018-12-21</endDate>
        </period>
    </context>
    <context id="c-187">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:PresidentAndChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-21</startDate>
            <endDate>2018-12-21</endDate>
        </period>
    </context>
    <context id="c-188">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:PresidentAndChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-21</startDate>
            <endDate>2018-12-21</endDate>
        </period>
    </context>
    <context id="c-189">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="c-190">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:PerformanceSharesTrancheThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-21</startDate>
            <endDate>2018-12-21</endDate>
        </period>
    </context>
    <context id="c-191">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:PerformanceSharesTrancheThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-21</startDate>
            <endDate>2018-12-21</endDate>
        </period>
    </context>
    <context id="c-192">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:TimeBasedSharedBasedCompensationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-11-02</instant>
        </period>
    </context>
    <context id="c-193">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-11-02</instant>
        </period>
    </context>
    <context id="c-194">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-02</startDate>
            <endDate>2019-11-02</endDate>
        </period>
    </context>
    <context id="c-195">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-02</startDate>
            <endDate>2019-11-02</endDate>
        </period>
    </context>
    <context id="c-196">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-02</startDate>
            <endDate>2019-11-02</endDate>
        </period>
    </context>
    <context id="c-197">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:TimeBasedSharedBasedCompensationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-10</instant>
        </period>
    </context>
    <context id="c-198">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-10</instant>
        </period>
    </context>
    <context id="c-199">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-10</startDate>
            <endDate>2020-12-10</endDate>
        </period>
    </context>
    <context id="c-200">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-10</startDate>
            <endDate>2020-12-10</endDate>
        </period>
    </context>
    <context id="c-201">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-10</startDate>
            <endDate>2020-12-10</endDate>
        </period>
    </context>
    <context id="c-202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-10</startDate>
            <endDate>2020-12-10</endDate>
        </period>
    </context>
    <context id="c-203">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-01</startDate>
            <endDate>2021-02-28</endDate>
        </period>
    </context>
    <context id="c-204">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-02-01</startDate>
            <endDate>2020-02-29</endDate>
        </period>
    </context>
    <context id="c-205">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:PresidentAndChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-19</startDate>
            <endDate>2021-03-19</endDate>
        </period>
    </context>
    <context id="c-206">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:TimeBasedSharedBasedCompensationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-19</startDate>
            <endDate>2021-03-19</endDate>
        </period>
    </context>
    <context id="c-207">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-19</startDate>
            <endDate>2021-03-19</endDate>
        </period>
    </context>
    <context id="c-208">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-19</startDate>
            <endDate>2021-03-19</endDate>
        </period>
    </context>
    <context id="c-209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:PresidentAndChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-27</startDate>
            <endDate>2021-04-27</endDate>
        </period>
    </context>
    <context id="c-210">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:PresidentAndChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-27</startDate>
            <endDate>2021-04-27</endDate>
        </period>
    </context>
    <context id="c-211">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:PresidentAndChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-27</startDate>
            <endDate>2021-04-27</endDate>
        </period>
    </context>
    <context id="c-212">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-28</startDate>
            <endDate>2021-10-28</endDate>
        </period>
    </context>
    <context id="c-213">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:PerformanceSharesTrancheThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-28</startDate>
            <endDate>2021-10-28</endDate>
        </period>
    </context>
    <context id="c-214">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">qlys:PerformanceSharesTrancheThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-28</startDate>
            <endDate>2021-10-28</endDate>
        </period>
    </context>
    <context id="c-215">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-28</startDate>
            <endDate>2021-10-28</endDate>
        </period>
    </context>
    <context id="c-216">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-27</startDate>
            <endDate>2022-10-27</endDate>
        </period>
    </context>
    <context id="c-217">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-27</startDate>
            <endDate>2022-10-27</endDate>
        </period>
    </context>
    <context id="c-218">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-27</startDate>
            <endDate>2022-10-27</endDate>
        </period>
    </context>
    <context id="c-219">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-06</startDate>
            <endDate>2023-02-06</endDate>
        </period>
    </context>
    <context id="c-220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-27</startDate>
            <endDate>2023-07-27</endDate>
        </period>
    </context>
    <context id="c-221">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-06</startDate>
            <endDate>2023-07-27</endDate>
        </period>
    </context>
    <context id="c-222">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-06</startDate>
            <endDate>2023-07-27</endDate>
        </period>
    </context>
    <context id="c-223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-06</startDate>
            <endDate>2023-07-27</endDate>
        </period>
    </context>
    <context id="c-224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-26</startDate>
            <endDate>2023-10-26</endDate>
        </period>
    </context>
    <context id="c-225">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-26</startDate>
            <endDate>2023-10-26</endDate>
        </period>
    </context>
    <context id="c-226">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-26</startDate>
            <endDate>2023-10-26</endDate>
        </period>
    </context>
    <context id="c-227">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-229">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-230">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-232">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-233">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-234">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-235">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-236">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-237">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:ExecutiveOfficer1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-238">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:ExecutiveOfficer1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-239">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-09-30</endDate>
        </period>
    </context>
    <context id="c-240">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:ExecutiveOfficer2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-241">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:ExecutiveOfficer3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-242">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:ExecutiveOfficer3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-243">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:ExecutiveOfficer4Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-244">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:ExecutiveOfficer4Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-245">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">qlys:ExecutiveOfficer4Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">qlys:PerformanceBasedRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-246">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2021EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-247">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">qlys:The2021EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-248">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <instant>2018-02-12</instant>
        </period>
    </context>
    <context id="c-249">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <instant>2018-10-30</instant>
        </period>
    </context>
    <context id="c-250">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <instant>2019-10-30</instant>
        </period>
    </context>
    <context id="c-251">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <instant>2020-05-07</instant>
        </period>
    </context>
    <context id="c-252">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <instant>2021-02-10</instant>
        </period>
    </context>
    <context id="c-253">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <instant>2021-11-03</instant>
        </period>
    </context>
    <context id="c-254">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <instant>2022-05-04</instant>
        </period>
    </context>
    <context id="c-255">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <instant>2023-02-09</instant>
        </period>
    </context>
    <context id="c-256">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-02-07</startDate>
            <endDate>2024-02-07</endDate>
        </period>
    </context>
    <context id="c-257">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-07</instant>
        </period>
    </context>
    <context id="c-258">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-259">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-260">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-261">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-262">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-263">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-264">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-265">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-266">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-267">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-268">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-269">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-270">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">qlys:OtherGeographicAreasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-271">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">qlys:OtherGeographicAreasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-272">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-273">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-274">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-275">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-276">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-277">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-278">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">qlys:EmployeeStockPurchasePlanSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-279">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">qlys:EmployeeStockPurchasePlanSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-280">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">qlys:EmployeeStockPurchasePlanSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-281">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">qlys:JeffreyHankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-282">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">qlys:JeffreyHankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-283">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">qlys:JeffreyHankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-284">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001107843</identifier>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="reportingunit">
        <measure>qlys:reportingUnit</measure>
    </unit>
    <unit id="eur">
        <measure>iso4217:EUR</measure>
    </unit>
    <unit id="gbp">
        <measure>iso4217:GBP</measure>
    </unit>
    <unit id="inr">
        <measure>iso4217:INR</measure>
    </unit>
    <unit id="cad">
        <measure>iso4217:CAD</measure>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="segment">
        <measure>qlys:segment</measure>
    </unit>
    <dei:EntityCentralIndexKey contextRef="c-1" id="f-32">0001107843</dei:EntityCentralIndexKey>
    <dei:DocumentFiscalYearFocus contextRef="c-1" id="f-33">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="c-1" id="f-34">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag contextRef="c-1" id="f-35">false</dei:AmendmentFlag>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-44" id="f-400">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="c-128" id="f-827">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="c-129" id="f-828">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="c-130" id="f-829">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="c-131" id="f-830">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="c-132" id="f-831">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="c-133" id="f-832" xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-212" id="f-1028">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-216" id="f-1036">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-221" id="f-1045">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-224" id="f-1053">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="c-186"
      decimals="4"
      id="f-1177"
      unitRef="number">0.3333</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <ecd:TrdArrDuration contextRef="c-282" id="f-1387">P587D</ecd:TrdArrDuration>
    <dei:DocumentType contextRef="c-1" id="f-1">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="c-1" id="f-2">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="c-1" id="f-3">2023-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate contextRef="c-1" id="f-4">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport contextRef="c-1" id="f-5">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="c-1" id="f-6">001-35662</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="c-1" id="f-7">QUALYS, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="c-1" id="f-8">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="c-1" id="f-9">77-0534145</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="c-1" id="f-10">919 E. Hillsdale Boulevard, 4th Floor</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="c-1" id="f-11">Foster City</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="c-1" id="f-12">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="c-1" id="f-13">94404</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="c-1" id="f-14">650</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="c-1" id="f-15">801-6100</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="c-1" id="f-16">Common stock, $0.001 par value per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="c-1" id="f-17">QLYS</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="c-1" id="f-18">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer contextRef="c-1" id="f-19">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="c-1" id="f-20">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="c-1" id="f-21">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="c-1" id="f-22">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="c-1" id="f-23">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="c-1" id="f-24">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="c-1" id="f-25">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="c-1" id="f-26">true</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag contextRef="c-1" id="f-27">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany contextRef="c-1" id="f-28">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat contextRef="c-2" decimals="-6" id="f-29" unitRef="usd">3637000000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding contextRef="c-3" decimals="INF" id="f-30" unitRef="shares">36977259</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock contextRef="c-1" id="f-31">&lt;div style="margin-top:4pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Portions of the registrant's Proxy Statement for its 2024 Annual Meeting of Stockholders are incorporated by reference in Part III of this Annual Report on Form 10-K where indicated. Such proxy statement will be filed with the Securities and Exchange Commission within 120 days of the registrant's fiscal year ended December&#160;31, 2023.&lt;/span&gt;&lt;/div&gt;</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorFirmId contextRef="c-1" id="f-36">248</dei:AuditorFirmId>
    <dei:AuditorName contextRef="c-1" id="f-37">GRANT THORNTON LLP</dei:AuditorName>
    <dei:AuditorLocation contextRef="c-1" id="f-38">San Jose, California</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-4" decimals="-3" id="f-39" unitRef="usd">203665000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-5" decimals="-3" id="f-40" unitRef="usd">173719000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashCurrent contextRef="c-4" decimals="-3" id="f-41" unitRef="usd">1500000</us-gaap:RestrictedCashCurrent>
    <us-gaap:RestrictedCashCurrent contextRef="c-5" decimals="-3" id="f-42" unitRef="usd">0</us-gaap:RestrictedCashCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c-4" decimals="-3" id="f-43" unitRef="usd">221893000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c-5" decimals="-3" id="f-44" unitRef="usd">147608000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable contextRef="c-4" decimals="-3" id="f-45" unitRef="usd">778000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable contextRef="c-5" decimals="-3" id="f-46" unitRef="usd">736000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-4" decimals="-3" id="f-47" unitRef="usd">146226000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-5" decimals="-3" id="f-48" unitRef="usd">121795000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="c-4" decimals="-3" id="f-49" unitRef="usd">26714000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="c-5" decimals="-3" id="f-50" unitRef="usd">30216000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c-4" decimals="-3" id="f-51" unitRef="usd">599998000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c-5" decimals="-3" id="f-52" unitRef="usd">473338000</us-gaap:AssetsCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="c-4" decimals="-3" id="f-53" unitRef="usd">56644000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="c-5" decimals="-3" id="f-54" unitRef="usd">59206000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-4" decimals="-3" id="f-55" unitRef="usd">32599000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-5" decimals="-3" id="f-56" unitRef="usd">47428000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-4" decimals="-3" id="f-57" unitRef="usd">22391000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-5" decimals="-3" id="f-58" unitRef="usd">33752000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="c-4" decimals="-3" id="f-59" unitRef="usd">62761000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="c-5" decimals="-3" id="f-60" unitRef="usd">45412000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="c-4" decimals="-3" id="f-61" unitRef="usd">9715000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="c-5" decimals="-3" id="f-62" unitRef="usd">12801000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill contextRef="c-4" decimals="-3" id="f-63" unitRef="usd">7447000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-5" decimals="-3" id="f-64" unitRef="usd">7447000</us-gaap:Goodwill>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent contextRef="c-4" decimals="-3" id="f-65" unitRef="usd">1200000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent contextRef="c-5" decimals="-3" id="f-66" unitRef="usd">2700000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-4" decimals="-3" id="f-67" unitRef="usd">19863000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-5" decimals="-3" id="f-68" unitRef="usd">18857000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets contextRef="c-4" decimals="-3" id="f-69" unitRef="usd">812618000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-5" decimals="-3" id="f-70" unitRef="usd">700941000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="c-4" decimals="-3" id="f-71" unitRef="usd">988000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="c-5" decimals="-3" id="f-72" unitRef="usd">2808000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-73" unitRef="usd">43096000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-74" unitRef="usd">42592000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-4" decimals="-3" id="f-75" unitRef="usd">333267000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-5" decimals="-3" id="f-76" unitRef="usd">293728000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c-4" decimals="-3" id="f-77" unitRef="usd">11857000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c-5" decimals="-3" id="f-78" unitRef="usd">13060000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-79" unitRef="usd">389208000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-80" unitRef="usd">352188000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent contextRef="c-4" decimals="-3" id="f-81" unitRef="usd">31671000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent contextRef="c-5" decimals="-3" id="f-82" unitRef="usd">23490000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-4" decimals="-3" id="f-83" unitRef="usd">16885000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-5" decimals="-3" id="f-84" unitRef="usd">29121000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="c-4" decimals="-3" id="f-85" unitRef="usd">6680000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="c-5" decimals="-3" id="f-86" unitRef="usd">7013000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities contextRef="c-4" decimals="-3" id="f-87" unitRef="usd">444444000</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="c-5" decimals="-3" id="f-88" unitRef="usd">411812000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies contextRef="c-4" id="f-89" unitRef="usd" xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies contextRef="c-5" id="f-90" unitRef="usd" xsi:nil="true"/>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c-5"
      decimals="3"
      id="f-91"
      unitRef="usdPerShare">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c-4"
      decimals="3"
      id="f-92"
      unitRef="usdPerShare">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized contextRef="c-5" decimals="-3" id="f-93" unitRef="shares">20000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized contextRef="c-4" decimals="-3" id="f-94" unitRef="shares">20000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding contextRef="c-5" decimals="-3" id="f-95" unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued contextRef="c-4" decimals="-3" id="f-96" unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding contextRef="c-4" decimals="-3" id="f-97" unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued contextRef="c-5" decimals="-3" id="f-98" unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue contextRef="c-4" decimals="-3" id="f-99" unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue contextRef="c-5" decimals="-3" id="f-100" unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-5"
      decimals="3"
      id="f-101"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-4"
      decimals="3"
      id="f-102"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-5" decimals="-3" id="f-103" unitRef="shares">1000000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-4" decimals="-3" id="f-104" unitRef="shares">1000000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-4" decimals="-3" id="f-105" unitRef="shares">36909000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued contextRef="c-4" decimals="-3" id="f-106" unitRef="shares">36909000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-5" decimals="-3" id="f-107" unitRef="shares">37362000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued contextRef="c-5" decimals="-3" id="f-108" unitRef="shares">37362000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue contextRef="c-4" decimals="-3" id="f-109" unitRef="usd">37000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="c-5" decimals="-3" id="f-110" unitRef="usd">37000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital contextRef="c-4" decimals="-3" id="f-111" unitRef="usd">597921000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital contextRef="c-5" decimals="-3" id="f-112" unitRef="usd">512486000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-4" decimals="-3" id="f-113" unitRef="usd">-1704000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-5" decimals="-3" id="f-114" unitRef="usd">-1947000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c-4" decimals="-3" id="f-115" unitRef="usd">-228080000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c-5" decimals="-3" id="f-116" unitRef="usd">-221447000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity contextRef="c-4" decimals="-3" id="f-117" unitRef="usd">368174000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-5" decimals="-3" id="f-118" unitRef="usd">289129000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c-4" decimals="-3" id="f-119" unitRef="usd">812618000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c-5" decimals="-3" id="f-120" unitRef="usd">700941000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-1" decimals="-3" id="f-121" unitRef="usd">554458000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-6" decimals="-3" id="f-122" unitRef="usd">489723000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-7" decimals="-3" id="f-123" unitRef="usd">411172000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue contextRef="c-1" decimals="-3" id="f-124" unitRef="usd">107485000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-6" decimals="-3" id="f-125" unitRef="usd">102788000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-7" decimals="-3" id="f-126" unitRef="usd">89439000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit contextRef="c-1" decimals="-3" id="f-127" unitRef="usd">446973000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c-6" decimals="-3" id="f-128" unitRef="usd">386935000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c-7" decimals="-3" id="f-129" unitRef="usd">321733000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c-1" decimals="-3" id="f-130" unitRef="usd">110472000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c-6" decimals="-3" id="f-131" unitRef="usd">101186000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c-7" decimals="-3" id="f-132" unitRef="usd">81289000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="c-1" decimals="-3" id="f-133" unitRef="usd">111691000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="c-6" decimals="-3" id="f-134" unitRef="usd">97221000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="c-7" decimals="-3" id="f-135" unitRef="usd">76487000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-1" decimals="-3" id="f-136" unitRef="usd">61741000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-6" decimals="-3" id="f-137" unitRef="usd">57981000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-7" decimals="-3" id="f-138" unitRef="usd">76274000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses contextRef="c-1" decimals="-3" id="f-139" unitRef="usd">283904000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c-6" decimals="-3" id="f-140" unitRef="usd">256388000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c-7" decimals="-3" id="f-141" unitRef="usd">234050000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss contextRef="c-1" decimals="-3" id="f-142" unitRef="usd">163069000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-6" decimals="-3" id="f-143" unitRef="usd">130547000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-7" decimals="-3" id="f-144" unitRef="usd">87683000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InvestmentIncomeInterest contextRef="c-1" decimals="-3" id="f-145" unitRef="usd">16905000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="c-6" decimals="-3" id="f-146" unitRef="usd">5191000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="c-7" decimals="-3" id="f-147" unitRef="usd">2287000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-1" decimals="-3" id="f-148" unitRef="usd">-1323000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-6" decimals="-3" id="f-149" unitRef="usd">-2038000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-7" decimals="-3" id="f-150" unitRef="usd">-573000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense contextRef="c-1" decimals="-3" id="f-151" unitRef="usd">15582000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense contextRef="c-6" decimals="-3" id="f-152" unitRef="usd">3153000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense contextRef="c-7" decimals="-3" id="f-153" unitRef="usd">1714000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-154" unitRef="usd">178651000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-6" decimals="-3" id="f-155" unitRef="usd">133700000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-7" decimals="-3" id="f-156" unitRef="usd">89397000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-157" unitRef="usd">27056000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-158" unitRef="usd">25708000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-159" unitRef="usd">18437000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-160" unitRef="usd">151595000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-6" decimals="-3" id="f-161" unitRef="usd">107992000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-7" decimals="-3" id="f-162" unitRef="usd">70960000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-1"
      decimals="2"
      id="f-163"
      unitRef="usdPerShare">4.11</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-6"
      decimals="2"
      id="f-164"
      unitRef="usdPerShare">2.81</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-7"
      decimals="2"
      id="f-165"
      unitRef="usdPerShare">1.82</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-1"
      decimals="2"
      id="f-166"
      unitRef="usdPerShare">4.03</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-6"
      decimals="2"
      id="f-167"
      unitRef="usdPerShare">2.74</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-7"
      decimals="2"
      id="f-168"
      unitRef="usdPerShare">1.77</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-1" decimals="-3" id="f-169" unitRef="shares">36879000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-6" decimals="-3" id="f-170" unitRef="shares">38453000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-7" decimals="-3" id="f-171" unitRef="shares">39030000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-1" decimals="-3" id="f-172" unitRef="shares">37602000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-6" decimals="-3" id="f-173" unitRef="shares">39344000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-7" decimals="-3" id="f-174" unitRef="shares">40118000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-175" unitRef="usd">151595000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-6" decimals="-3" id="f-176" unitRef="usd">107992000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-7" decimals="-3" id="f-177" unitRef="usd">70960000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax contextRef="c-1" decimals="-3" id="f-178" unitRef="usd">2813000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax contextRef="c-6" decimals="-3" id="f-179" unitRef="usd">-2520000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax contextRef="c-7" decimals="-3" id="f-180" unitRef="usd">-1409000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent contextRef="c-1" decimals="-3" id="f-181" unitRef="usd">-2570000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent contextRef="c-6" decimals="-3" id="f-182" unitRef="usd">-434000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent contextRef="c-7" decimals="-3" id="f-183" unitRef="usd">2900000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-1" decimals="-3" id="f-184" unitRef="usd">243000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-6" decimals="-3" id="f-185" unitRef="usd">-2954000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-7" decimals="-3" id="f-186" unitRef="usd">1491000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-1" decimals="-3" id="f-187" unitRef="usd">151838000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-6" decimals="-3" id="f-188" unitRef="usd">105038000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-7" decimals="-3" id="f-189" unitRef="usd">72451000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-190" unitRef="usd">151595000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-6" decimals="-3" id="f-191" unitRef="usd">107992000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-7" decimals="-3" id="f-192" unitRef="usd">70960000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-1" decimals="-3" id="f-193" unitRef="usd">26991000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-6" decimals="-3" id="f-194" unitRef="usd">34622000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-7" decimals="-3" id="f-195" unitRef="usd">35897000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OtherAssetImpairmentCharges contextRef="c-1" decimals="-3" id="f-196" unitRef="usd">0</us-gaap:OtherAssetImpairmentCharges>
    <us-gaap:OtherAssetImpairmentCharges contextRef="c-6" decimals="-3" id="f-197" unitRef="usd">0</us-gaap:OtherAssetImpairmentCharges>
    <us-gaap:OtherAssetImpairmentCharges contextRef="c-7" decimals="-3" id="f-198" unitRef="usd">625000</us-gaap:OtherAssetImpairmentCharges>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-1" decimals="-3" id="f-199" unitRef="usd">547000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-6" decimals="-3" id="f-200" unitRef="usd">590000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-7" decimals="-3" id="f-201" unitRef="usd">402000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c-1" decimals="-3" id="f-202" unitRef="usd">0</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c-6" decimals="-3" id="f-203" unitRef="usd">-6000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c-7" decimals="-3" id="f-204" unitRef="usd">-12000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss contextRef="c-1" decimals="-3" id="f-205" unitRef="usd">-533000</us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss>
    <us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss contextRef="c-6" decimals="-3" id="f-206" unitRef="usd">0</us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss>
    <us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss contextRef="c-7" decimals="-3" id="f-207" unitRef="usd">0</us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss>
    <us-gaap:ShareBasedCompensation contextRef="c-1" decimals="-3" id="f-208" unitRef="usd">69079000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-6" decimals="-3" id="f-209" unitRef="usd">53408000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-7" decimals="-3" id="f-210" unitRef="usd">67579000</us-gaap:ShareBasedCompensation>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments contextRef="c-1" decimals="-3" id="f-211" unitRef="usd">5712000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments contextRef="c-6" decimals="-3" id="f-212" unitRef="usd">-833000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments contextRef="c-7" decimals="-3" id="f-213" unitRef="usd">-3869000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits contextRef="c-1" decimals="-3" id="f-214" unitRef="usd">-16636000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits contextRef="c-6" decimals="-3" id="f-215" unitRef="usd">-20251000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits contextRef="c-7" decimals="-3" id="f-216" unitRef="usd">-9723000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c-1" decimals="-3" id="f-217" unitRef="usd">24978000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c-6" decimals="-3" id="f-218" unitRef="usd">13387000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c-7" decimals="-3" id="f-219" unitRef="usd">9221000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="c-1" decimals="-3" id="f-220" unitRef="usd">3407000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="c-6" decimals="-3" id="f-221" unitRef="usd">-3878000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="c-7" decimals="-3" id="f-222" unitRef="usd">15665000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c-1" decimals="-3" id="f-223" unitRef="usd">-1578000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c-6" decimals="-3" id="f-224" unitRef="usd">2107000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c-7" decimals="-3" id="f-225" unitRef="usd">-32000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities contextRef="c-1" decimals="-3" id="f-226" unitRef="usd">451000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities contextRef="c-6" decimals="-3" id="f-227" unitRef="usd">3867000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities contextRef="c-7" decimals="-3" id="f-228" unitRef="usd">9322000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="c-1" decimals="-3" id="f-229" unitRef="usd">47720000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="c-6" decimals="-3" id="f-230" unitRef="usd">25189000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="c-7" decimals="-3" id="f-231" unitRef="usd">46591000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-1" decimals="-3" id="f-232" unitRef="usd">244605000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-6" decimals="-3" id="f-233" unitRef="usd">198854000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-7" decimals="-3" id="f-234" unitRef="usd">200616000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireMarketableSecurities contextRef="c-1" decimals="-3" id="f-235" unitRef="usd">306812000</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:PaymentsToAcquireMarketableSecurities contextRef="c-6" decimals="-3" id="f-236" unitRef="usd">178788000</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:PaymentsToAcquireMarketableSecurities contextRef="c-7" decimals="-3" id="f-237" unitRef="usd">368450000</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities contextRef="c-1" decimals="-3" id="f-238" unitRef="usd">242432000</us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities contextRef="c-6" decimals="-3" id="f-239" unitRef="usd">347837000</us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities contextRef="c-7" decimals="-3" id="f-240" unitRef="usd">363941000</us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-1" decimals="-3" id="f-241" unitRef="usd">8786000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-6" decimals="-3" id="f-242" unitRef="usd">15361000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-7" decimals="-3" id="f-243" unitRef="usd">24424000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="c-1" decimals="-3" id="f-244" unitRef="usd">0</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="c-6" decimals="-3" id="f-245" unitRef="usd">0</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="c-7" decimals="-3" id="f-246" unitRef="usd">6000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireBusinessesGross contextRef="c-1" decimals="-3" id="f-247" unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross contextRef="c-6" decimals="-3" id="f-248" unitRef="usd">8620000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross contextRef="c-7" decimals="-3" id="f-249" unitRef="usd">1230000</us-gaap:PaymentsToAcquireBusinessesGross>
    <qlys:PaymentsToAcquireMaturitiesOfNotesReceivable contextRef="c-1" decimals="-3" id="f-250" unitRef="usd">0</qlys:PaymentsToAcquireMaturitiesOfNotesReceivable>
    <qlys:PaymentsToAcquireMaturitiesOfNotesReceivable contextRef="c-6" decimals="-3" id="f-251" unitRef="usd">0</qlys:PaymentsToAcquireMaturitiesOfNotesReceivable>
    <qlys:PaymentsToAcquireMaturitiesOfNotesReceivable contextRef="c-7" decimals="-3" id="f-252" unitRef="usd">-625000</qlys:PaymentsToAcquireMaturitiesOfNotesReceivable>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-1" decimals="-3" id="f-253" unitRef="usd">-73166000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-6" decimals="-3" id="f-254" unitRef="usd">145068000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-7" decimals="-3" id="f-255" unitRef="usd">-29532000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c-1" decimals="-3" id="f-256" unitRef="usd">170800000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c-6" decimals="-3" id="f-257" unitRef="usd">317344000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c-7" decimals="-3" id="f-258" unitRef="usd">129977000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ProceedsFromStockOptionsExercised contextRef="c-1" decimals="-3" id="f-259" unitRef="usd">45576000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised contextRef="c-6" decimals="-3" id="f-260" unitRef="usd">24483000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised contextRef="c-7" decimals="-3" id="f-261" unitRef="usd">49994000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c-1" decimals="-3" id="f-262" unitRef="usd">22346000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c-6" decimals="-3" id="f-263" unitRef="usd">17615000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c-7" decimals="-3" id="f-264" unitRef="usd">27815000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="c-1" decimals="-3" id="f-265" unitRef="usd">6077000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="c-6" decimals="-3" id="f-266" unitRef="usd">4445000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="c-7" decimals="-3" id="f-267" unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:FinanceLeasePrincipalPayments contextRef="c-1" decimals="-3" id="f-268" unitRef="usd">0</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments contextRef="c-6" decimals="-3" id="f-269" unitRef="usd">0</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments contextRef="c-7" decimals="-3" id="f-270" unitRef="usd">90000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-1" decimals="-3" id="f-271" unitRef="usd">-141493000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-6" decimals="-3" id="f-272" unitRef="usd">-306031000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-7" decimals="-3" id="f-273" unitRef="usd">-107888000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-1" decimals="-3" id="f-274" unitRef="usd">29946000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-6" decimals="-3" id="f-275" unitRef="usd">37891000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-7" decimals="-3" id="f-276" unitRef="usd">63196000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="c-5" decimals="-3" id="f-277" unitRef="usd">176419000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="c-8" decimals="-3" id="f-278" unitRef="usd">138528000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="c-9" decimals="-3" id="f-279" unitRef="usd">75332000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="c-4" decimals="-3" id="f-280" unitRef="usd">206365000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="c-5" decimals="-3" id="f-281" unitRef="usd">176419000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="c-8" decimals="-3" id="f-282" unitRef="usd">138528000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:IncomeTaxesPaidNet contextRef="c-1" decimals="-3" id="f-283" unitRef="usd">34920000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="c-6" decimals="-3" id="f-284" unitRef="usd">39739000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="c-7" decimals="-3" id="f-285" unitRef="usd">35080000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1 contextRef="c-1" decimals="-3" id="f-286" unitRef="usd">0</us-gaap:NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1>
    <us-gaap:NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1 contextRef="c-6" decimals="-3" id="f-287" unitRef="usd">2110000</us-gaap:NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1>
    <us-gaap:NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1 contextRef="c-7" decimals="-3" id="f-288" unitRef="usd">120000</us-gaap:NoncashOrPartNoncashAcquisitionNetNonmonetaryAssetsAcquiredLiabilitiesAssumed1>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid contextRef="c-1" decimals="-3" id="f-289" unitRef="usd">144000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid contextRef="c-6" decimals="-3" id="f-290" unitRef="usd">470000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid contextRef="c-7" decimals="-3" id="f-291" unitRef="usd">2086000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:SharesOutstanding contextRef="c-10" decimals="-3" id="f-292" unitRef="shares">39253000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-10" decimals="-3" id="f-293" unitRef="usd">39000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-11" decimals="-3" id="f-294" unitRef="usd">401359000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-12" decimals="-3" id="f-295" unitRef="usd">-484000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-13" decimals="-3" id="f-296" unitRef="usd">3568000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-9" decimals="-3" id="f-297" unitRef="usd">404482000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-14" decimals="-3" id="f-298" unitRef="usd">70960000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-7" decimals="-3" id="f-299" unitRef="usd">70960000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-15" decimals="-3" id="f-300" unitRef="usd">1491000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-7" decimals="-3" id="f-301" unitRef="usd">1491000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c-16" decimals="-3" id="f-302" unitRef="shares">725000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-16" decimals="-3" id="f-303" unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-17" decimals="-3" id="f-304" unitRef="usd">49993000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-7" decimals="-3" id="f-305" unitRef="usd">49994000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares contextRef="c-16" decimals="-3" id="f-306" unitRef="shares">1148000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-16" decimals="-3" id="f-307" unitRef="usd">1000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-17" decimals="-3" id="f-308" unitRef="usd">13793000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-14" decimals="-3" id="f-309" unitRef="usd">116183000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-7" decimals="-3" id="f-310" unitRef="usd">129977000</us-gaap:StockRepurchasedDuringPeriodValue>
    <qlys:StockIssuedDuringPeriodSharesRestrictedStockAwardVested contextRef="c-16" decimals="-3" id="f-311" unitRef="shares">530000</qlys:StockIssuedDuringPeriodSharesRestrictedStockAwardVested>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation contextRef="c-16" decimals="-3" id="f-312" unitRef="shares">248000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c-17" decimals="-3" id="f-313" unitRef="usd">27815000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c-7" decimals="-3" id="f-314" unitRef="usd">27815000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-17" decimals="-3" id="f-315" unitRef="usd">67579000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-7" decimals="-3" id="f-316" unitRef="usd">67579000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:SharesOutstanding contextRef="c-18" decimals="-3" id="f-317" unitRef="shares">39112000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-18" decimals="-3" id="f-318" unitRef="usd">39000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-19" decimals="-3" id="f-319" unitRef="usd">477323000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-20" decimals="-3" id="f-320" unitRef="usd">1007000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-21" decimals="-3" id="f-321" unitRef="usd">-41655000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-8" decimals="-3" id="f-322" unitRef="usd">436714000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-22" decimals="-3" id="f-323" unitRef="usd">107992000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-6" decimals="-3" id="f-324" unitRef="usd">107992000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-23" decimals="-3" id="f-325" unitRef="usd">-2954000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-6" decimals="-3" id="f-326" unitRef="usd">-2954000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c-24" decimals="-3" id="f-327" unitRef="shares">468000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-25" decimals="-3" id="f-328" unitRef="usd">24483000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-6" decimals="-3" id="f-329" unitRef="usd">24483000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares contextRef="c-24" decimals="-3" id="f-330" unitRef="shares">2460000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-24" decimals="-3" id="f-331" unitRef="usd">2000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-25" decimals="-3" id="f-332" unitRef="usd">29558000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-22" decimals="-3" id="f-333" unitRef="usd">287784000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-6" decimals="-3" id="f-334" unitRef="usd">317344000</us-gaap:StockRepurchasedDuringPeriodValue>
    <qlys:StockIssuedDuringPeriodSharesRestrictedStockAwardVested contextRef="c-24" decimals="-3" id="f-335" unitRef="shares">329000</qlys:StockIssuedDuringPeriodSharesRestrictedStockAwardVested>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation contextRef="c-24" decimals="-3" id="f-336" unitRef="shares">132000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c-25" decimals="-3" id="f-337" unitRef="usd">17615000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c-6" decimals="-3" id="f-338" unitRef="usd">17615000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans contextRef="c-24" decimals="-3" id="f-339" unitRef="shares">45000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan contextRef="c-25" decimals="-3" id="f-340" unitRef="usd">4445000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan contextRef="c-6" decimals="-3" id="f-341" unitRef="usd">4445000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-25" decimals="-3" id="f-342" unitRef="usd">53408000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-6" decimals="-3" id="f-343" unitRef="usd">53408000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:SharesOutstanding contextRef="c-26" decimals="-3" id="f-344" unitRef="shares">37362000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-26" decimals="-3" id="f-345" unitRef="usd">37000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-27" decimals="-3" id="f-346" unitRef="usd">512486000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-28" decimals="-3" id="f-347" unitRef="usd">-1947000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-29" decimals="-3" id="f-348" unitRef="usd">-221447000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-5" decimals="-3" id="f-349" unitRef="usd">289129000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-30" decimals="-3" id="f-350" unitRef="usd">151595000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-351" unitRef="usd">151595000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-31" decimals="-3" id="f-352" unitRef="usd">243000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-1" decimals="-3" id="f-353" unitRef="usd">243000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c-32" decimals="-3" id="f-354" unitRef="shares">582000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-33" decimals="-3" id="f-355" unitRef="usd">45575000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-1" decimals="-3" id="f-356" unitRef="usd">45576000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares contextRef="c-32" decimals="-3" id="f-357" unitRef="shares">1342000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-32" decimals="-3" id="f-358" unitRef="usd">1000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-33" decimals="-3" id="f-359" unitRef="usd">12990000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-30" decimals="-3" id="f-360" unitRef="usd">158228000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-1" decimals="-3" id="f-361" unitRef="usd">171219000</us-gaap:StockRepurchasedDuringPeriodValue>
    <qlys:StockIssuedDuringPeriodSharesRestrictedStockAwardVested contextRef="c-32" decimals="-3" id="f-362" unitRef="shares">414000</qlys:StockIssuedDuringPeriodSharesRestrictedStockAwardVested>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation contextRef="c-32" decimals="-3" id="f-363" unitRef="shares">167000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c-33" decimals="-3" id="f-364" unitRef="usd">22346000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c-1" decimals="-3" id="f-365" unitRef="usd">22346000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans contextRef="c-32" decimals="-3" id="f-366" unitRef="shares">60000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan contextRef="c-1" decimals="-3" id="f-367" unitRef="usd">6077000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan contextRef="c-1" decimals="-3" id="f-368" unitRef="usd">6077000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-33" decimals="-3" id="f-369" unitRef="usd">69119000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-1" decimals="-3" id="f-370" unitRef="usd">69119000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:SharesOutstanding contextRef="c-34" decimals="-3" id="f-371" unitRef="shares">36909000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-34" decimals="-3" id="f-372" unitRef="usd">37000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-35" decimals="-3" id="f-373" unitRef="usd">597921000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-36" decimals="-3" id="f-374" unitRef="usd">-1704000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-37" decimals="-3" id="f-375" unitRef="usd">-228080000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-4" decimals="-3" id="f-376" unitRef="usd">368174000</us-gaap:StockholdersEquity>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock contextRef="c-1" id="f-377">The Company and Summary of Significant Accounting Policies&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Description of Business &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Qualys, Inc. (the &#x201c;Company&#x201d;, "we", "us", "our") was incorporated in the state of Delaware on&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December 30, 1999&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is headquartered in Foster City, California and has wholly-owned subsidiaries throughout the world. The Company is a leading provider of cloud-based IT, security and compliance solutions that enable organizations to identify security risks to their IT infrastructures, help protect their IT systems and applications from ever-evolving cyber-attacks and achieve compliance with internal policies and external regulations. The Company&#x2019;s cloud solutions address the growing security and compliance complexities and risks that are amplified by the dissolving boundaries between internal and external IT infrastructures and web environments, the rapid adoption of cloud computing and the proliferation of geographically dispersed IT assets. Organizations can use the Company&#x2019;s integrated suite of solutions delivered on Qualys' Enterprise TruRisk Platform to cost-effectively obtain a unified view of their security and compliance posture across globally-distributed IT infrastructures.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying consolidated financial statements and footnotes have been prepared in accordance with U.S. GAAP as well as the instructions to Form 10-K and the rules and regulations of the SEC. Certain prior year amounts have been reclassified to conform with the current year presentation. In the opinion of management, the accompanying consolidated financial statements reflect all adjustments, which include only normal recurring adjustments, necessary for the fair presentation of the Company&#x2019;s consolidated financial position, results of operations and cash flows for the periods presented. The accompanying consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany transactions and balances have been eliminated upon consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of the consolidated financial statements in conformity with U.S. GAAP requires management to make certain estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of assets and liabilities at the date of the consolidated financial statements and the reported results of operations during the reporting period. The Company&#x2019;s management regularly assesses these estimates, which primarily affect revenue recognition, allowance for credit loss, the valuation of goodwill and intangible assets, leases, stock-based compensation and income tax provision. Actual results could differ from those estimates and such differences may be material to the accompanying consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Concentration of Credit Risk&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company invests its cash and cash equivalents with major financial institutions. Cash balances with any one institution at times may be in excess of federally insured limits. Cash equivalents are invested in high-quality investment grade financial instruments and are diversified. The Company has not experienced any losses in such accounts and believes it is not exposed to any significant credit risk.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Credit risk with respect to accounts receivable is dispersed due to the large number of customers. Collateral is not required for accounts receivable. As of December&#160;31, 2023 and 2022, &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;no customer or channel partner accounted for more than 10% of the Company's revenues and accounts receivable balance.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash, Cash Equivalents, Restricted cash and Short-Term and Long-Term Marketable Securities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash and cash equivalents include cash held in banks, highly liquid money market funds, and fixed-income U.S. Treasury and government agencies, all with original maturities of three months or less when acquired. The Company&#x2019;s short-term and long-term marketable securities consist of fixed-income U.S. and foreign government agency securities, corporate bonds, asset-backed securities and commercial paper. Management determines the appropriate classification of the Company's investments at the time of purchase and reevaluates such designation at each balance sheet date. The Company classifies its marketable securities as either short-term or long-term based on each instrument's underlying remaining contractual maturity date. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023 and 2022, the Company had a restricted cash balance of $2.7 million, of which $1.5 million is related to cash held in escrow as part of the Blue Hexagon acquisition and $1.2 million in the form of a letter of credit issued to the landlord of the Company's California headquarter office lease as security deposit.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash equivalents are stated at cost, which approximates fair market value. Short-term and long-term marketable securities are classified as available-for-sale debt securities (AFS debt securities) and are carried at fair value. Unrealized gains and losses in fair value of the AFS debt securities are reported in other comprehensive income (loss). When the AFS debt securities are sold, cost is based on the specific identification method, and the realized gains and losses are included in other income (expense), net in the consolidated statements of operations. AFS debt securities are reviewed quarterly for impairment. An investment is considered impaired when its fair value is below its amortized cost. Declines in fair value from amortized cost for AFS debt securities that the company intends to sell or will more likely than not be required to sell before the expected recovery of the amortized cost basis are charged to other income (expense), net in the period in which the loss occurs. Otherwise, the credit loss component of the impairment is recorded as allowance for credit losses with an offsetting entry charged to other income (expense), net, while the remaining loss is recognized in other comprehensive income (loss).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounts Receivable&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable are recorded at the invoiced amount and do not bear interest. The allowance for credit losses is determined on a collective basis where similar risk characteristics exist and on an individual basis when the Company identifies significant customers or invoices with collectability issues. The estimate for credit losses considers historical write-offs by aging category, that are adjusted for current conditions and reasonable and supportable forecasts of future losses. Any change in the assumptions used in analyzing credit losses may result in additional allowances being recognized in the period in which the change occurs. When the Company ultimately concludes that a receivable is uncollectible, the balance is written off against the allowance for credit losses. Payments subsequently received on such receivables are recognized in the period received. The allowance for credit losses recognized and write-offs charged against the allowance were not significant for the years ended December&#160;31, 2023 and 2022. The balance of accounts receivable, net of allowance for credit losses was $146.2 million, $121.8 million and $109.0 million as of December&#160;31, 2023, December&#160;31, 2022 and December&#160;31, 2021, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Non-marketable securities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2018, the Company invested $2.5 million in preferred stock of a privately-held company (the &#x201c;Investee&#x201d;). The fair value of the investment is not readily available, and there are no quoted market prices for the investment. The Company elected the measurement alternative to account for the investment at cost less impairment and will measure the investment at fair value when the Company identifies observable price changes. The investment is assessed for impairment annually or whenever events or changes in circumstances indicate that the fair value of the investment is less than carrying value. The investment is included in other noncurrent assets in the consolidated balance sheets. The Company has not received any dividends from the investment. During the second quarter of 2023, the Company identified an observable price change in the investment and recognized an immaterial unrealized loss in other income (expense), net of the consolidated statement of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2019, the Company made an advance payment of $0.6 million to the Investee for it to perform certain technology development work, which should either be settled in the form of royalty fee charges when the technology materializes and is licensed to the Company or, otherwise, should be repaid to the Company in cash. The advance payment was recorded in other non-current assets in the consolidated balance sheet. During the fourth quarter ended December 31, 2021, the technology has not been developed and the Company decided to no longer pursue the development of the technology or the collection of the advanced amount. Accordingly, the entire amount of the advance payment was written off and recorded in the general and administrative expense during the year ended December 31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and Equipment, net&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are stated at cost less accumulated depreciation and amortization. Depreciation is computed using the straight-line method over the estimated useful lives of the assets, which range from &lt;span style="-sec-ix-hidden:f-400"&gt;three&lt;/span&gt; to five years. Leasehold improvements are amortized on a straight-line basis over the lesser of the estimated useful life of the asset or the remaining lease term.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company purchases physical scanner appliances and other computer equipment that are provided to some customers on a subscription basis. This equipment is recorded within property and equipment and the depreciation is recorded in cost of revenues over an estimated useful life of three years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Upon retirement or disposal, the cost of assets and the related accumulated depreciation are removed from the accounts and any resulting gain or loss is reflected in the consolidated statements of operations. Repairs and maintenance that do not extend the life of an asset are expensed as incurred and major improvements are capitalized as property and equipment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company leases certain offices, computer equipment and its shared cloud platform facilities under finance leases and non-cancelable operating leases. For both operating and finance leases, the Company recognizes a right-of-use asset, which represents the Company's right to use the underlying asset for the lease term, and a lease liability, which represents the present value of the Company's obligation to make payments arising over the lease term. Many of the Company's leases include rental escalation clauses, renewal options and/or termination options that are factored into the Company's determination of lease payments and lease terms when appropriate. The present value of the lease payments is calculated using the incremental borrowing rate of the underlying leases determined at lease commencement. As most of the Company's leases do not provide a readily determinable implicit rate, the Company determines an incremental borrowing rate using a portfolio approach based on the rate of interest that the Company would have to pay to borrow an amount equal to the lease payments on a collateralized basis over a similar term as the leases. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Where the Company is the lessee, the Company elects to account for non-lease components associated with its leases (e.g., common area maintenance costs) and lease components separately for substantially all of its asset classes, except for shared cloud platforms, for which the Company elected to combine lease and non-lease components. For leases with a term of one year or less, the Company has elected not to record the right-of-use asset or liability.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In arrangements where the Company is the lessor, the Company elected to apply the practical expedient to account for lease components (e.g., customer premise equipment) and non-lease components (e.g., service revenue) as combined components as revenue under ASC 606 as service revenues are the predominant components in the arrangements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Impairment of Long-Lived Assets &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company evaluates its long-lived assets, which consist of property and equipment, and intangible assets subject to amortization, for indicators of possible impairment when events or changes in circumstances indicate the carrying amount of an asset may not be recoverable. Impairment exists if the carrying amounts of such assets exceed the estimates of future undiscounted cash flows expected to be generated by such assets. Should an impairment exist, the impairment loss would be measured based on the excess carrying value of the asset over the asset&#x2019;s estimated fair value. For the years ended December&#160;31, 2023, 2022 and 2021, there was no impairment of long-lived assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Goodwill and Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill represents the excess of the purchase price over the fair value of the net tangible and identifiable intangible assets acquired in a business combination. Goodwill and indefinite-lived intangible assets are not amortized but tested for impairment at least annually or more frequently if certain circumstances indicate a possible impairment may exist. The goodwill impairment tests are performed at the reporting unit level. The Company&#x2019;s operations are organized as one reporting unit.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In testing for a potential impairment of goodwill and the indefinite-lived intangible assets, the Company first performs a qualitative assessment to determine if it is more likely than not (a more than 50% likelihood) that the fair value of the reporting unit or the indefinite-lived intangible assets is less than their carrying amount. If the fair value is not considered to be less than the carrying amount, no further evaluation is necessary. Otherwise, the Company will perform a quantitative test. Goodwill impairment is measured as the amount by which the carrying value of the reporting unit or the indefinite-lived intangible assets exceeds their fair value. The Company performed the annual assessments on December 1, 2023 and 2022 and concluded there was no impairment of goodwill or the indefinite-lived intangible assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Software Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The costs to develop software that is marketed externally have not been capitalized as the Company believes its current software development process is essentially completed concurrent with the establishment of technological feasibility. As such, all related software development costs are expensed as incurred and included in research and development expense on the Company's consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs related to software developed, acquired or modified for internal use are capitalized and included in other noncurrent assets on the consolidated balance sheets. Costs incurred during the preliminary planning and evaluation stage of the project and during the post implementation stages of the project are expensed as incurred. Costs incurred during the application development stage of the project are capitalized. These capitalized costs consist of internal compensation related costs and external direct costs.   Costs related to software developed for internal use are amortized over an estimated useful life of three years and recorded in cost of revenues. Management evaluates the useful lives of these assets on an annual basis and tests for impairment whenever events or changes in circumstances occur that could impact the recoverability of these assets. As of December&#160;31, 2023 and &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, unamortized balances related to the Company's internally developed software costs are immaterial.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Asset Acquisitions and Business Combinations &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company applies the provisions of ASC 805, Business Combinations, in accounting for its acquisitions. To determine whether transactions should be accounted for as asset acquisition or business combination, the Company evaluates whether substantially all of the fair value of gross assets included in a transaction is concentrated in a single asset (or a group of similar assets), resulting in an asset acquisition, if not, resulting in a business combination. In an asset acquisition, the cost of acquiring the asset group, including transaction costs, is allocated to the acquired assets or assumed liabilities based on their relative fair values without giving rise to goodwill. In a business combination, the Company recognize separately from goodwill the assets acquired and the liabilities assumed at their acquisition date fair values. Goodwill as of the acquisition date is measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities assumed. While the Company uses its best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, its estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company records adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon the conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to its consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Derivative Financial Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Derivative financial instruments are utilized by the Company to reduce foreign currency exchange risks. The Company uses foreign currency forward contracts, with maturities of 13 months or less, to mitigate the impact of foreign currency fluctuations of certain non-U.S. dollar denominated net asset positions, to date primarily cash, accounts receivable and operating lease liabilities, as well as to manage foreign currency fluctuation risk related to forecasted transactions. Open contracts are recorded within prepaid expenses and other current assets, other noncurrent assets, accrued liabilities or other noncurrent liabilities in the consolidated balance sheets. Gains and losses resulting from currency exchange rate movements on non-designated forward contracts are recognized in other income (expense), net. Any gains or losses from derivatives designated as cash flow hedges are first recorded within accumulated other comprehensive income (&#x201c;AOCI&#x201d;) and then reclassified into revenue or operating expenses when the hedged item impacts the consolidated statements of operations. Cash flows related to these forward contracts are classified in the Company's consolidated statements of cash flows in the same manner as the underlying hedged transaction within cash flows from operating activities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes the fair value of its stock options, restricted stock units (&#x201c;RSUs&#x201d;) and stock purchase rights under the ESPP on a straight-line basis over the requisite service periods. The fair value of each stock option or stock purchase right is estimated on the date of grant using the Black-Scholes-Merton option pricing model and the fair value of each RSU is based on the Company's common stock price on the date of grant. Compensation expenses for performance-based stock options (&#x201c;PSOs&#x201d;) and performance-based restricted stock units (&#x201c;PSUs&#x201d;) are recorded based on expected achievement of the performance metrics specified in the grant, which are assessed on a quarterly basis. Forfeitures are estimated on the date of grant and revised if actual or expected forfeiture materially differs from original estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company derives revenues from subscriptions that require customers to pay a fee in order to access the Company&#x2019;s cloud solutions. Contract period with customers generally are one year with occasional contracts ranging up to five years. The subscription fee entitles the customer to an unlimited number of scans for a specified number of networked devices or web applications and, if requested by a customer as part of their subscription, a specified number of physical or virtual scanner appliances. The Company&#x2019;s physical and virtual scanner appliances are requested by certain customers as part of their subscriptions in order to scan IT infrastructures within their firewalls and do not function without, and are not sold separately from, subscriptions for the Company&#x2019;s solutions. In some limited cases, the Company also provides certain computer equipment used to extend Qualys' Enterprise TruRisk Platform into its customers&#x2019; private cloud environment. Customers are required to return physical scanner appliances and computer equipment if they do not renew their subscriptions. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:27pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company determines revenue recognition through the following steps:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Identification of the contract, or contracts, with a customer;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Identification of the performance obligations in the contract;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Determination of the transaction price;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Allocation of the transaction price to the performance obligations in the contract; and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Recognition of revenue when, or as, the Company satisfies a performance obligation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At the inception of a customer contract, the Company makes an assessment as to that customer's ability to pay for the services provided. The Company assesses collectability based on several factors, including credit worthiness of the customer along with past transaction history. In addition, the Company performs periodic evaluations of its customers&#x2019; financial condition. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Most of the Company&#x2019;s revenue contracts are subscription based and contain a single performance obligation. The subscription contracts typically do not offer to the customers any future rights that would constitute material rights. Contract prices are generally composed of fixed consideration for a specific period of time as the Company in general does not offer refunds, volume rebates, customer loyalty programs or other forms of customer incentive payments. In limited situations, contract prices are contingent on future events, such as actual usage during the contract terms, which are accounted for as variable consideration and estimated based on the most likely amount of consideration that the Company is expected to be entitled to. Estimates are included in the contract price to the extent that it is considered probable that a significant reversal in the amount of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. Such estimates are made at contract inception and updated periodically when additional information becomes available. A cumulative catch-up adjustment is made when there is a change in the estimate of variable consideration.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As the Company's cloud-based subscription services are delivered to customers electronically and over time, revenue is generally recognized ratably over the contract terms. When physical equipment is provided to the customers as part of the subscription service contract, the Company applies the practical expedient allowed under ASC 842 Leases to combine lease and nonlease components as a combined component to be accounted for under ASC 606, as the Company determined that the software subscription is the predominant component of the combined components. Therefore, the Company recognizes revenue for the physical equipment ratably over the related subscription period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract modifications happen when there is an upsell, where the customers subsequently enter into contract with the Company to purchase additional product offerings or additional scans for additional devices. Contract modifications related to upsells are accounted for prospectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred revenues consist of customer contracts billed or cash received that will be recognized in the future under subscriptions existing at the balance sheet date. The current portion of deferred revenues represents amounts that are expected to be recognized within one year of the balance sheet date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs of shipping and handling charges incurred by the Company associated with physical scanner appliances and other computer equipment are included in cost of revenues. Sales taxes and other taxes collected from customers to be remitted to government authorities are excluded from revenues.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Incremental direct costs of obtaining a contract, which consist of sales commissions primarily for new business and upsells, are deferred and amortized over the estimated life of the customer relationship if renewals are expected and the renewal commission is not commensurate with the initial commission. The Company elected the practical expedient to expense commissions on renewals where the specific anticipated contract term amortization period is one year or less. The Company amortizes the capitalized commission cost as a selling expense on a straight-line basis over a period of five years. The Company classifies deferred commissions as current or noncurrent based on the timing of when it expects to recognize the expense. The current and noncurrent portions of deferred commissions are included in prepaid expenses and other current assets and other noncurrent assets, respectively, in its consolidated balance sheets. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Advertising Expenses&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Advertising costs are expensed as incurred and are included in sales and marketing expense in the consolidated statements of operations. The Company incurred advertising costs of $3.0 million, $3.3 million and $2.1 million for the years ended&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, 2022 and 2021, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company provides for the effect of income taxes in its consolidated financial statements using the asset and liability method which requires the recognition of deferred tax assets and liabilities for the expected future tax consequences of events that have been included in the consolidated financial statements. Under this method, deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases, net operating loss carryovers, and tax credit carry forwards. The Company regularly reviews its deferred tax assets for recoverability and establishes a valuation allowance if it is more likely than not that some portion or all of the deferred tax assets will not be realized. To make this assessment, the Company takes into account predictions of the amount and category of taxable income from various sources and all available positive and negative evidence about these possible sources of taxable income. The weight given to the potential effect of negative and positive evidence is commensurate with the extent to which the strength of the evidence can be objectively verified. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in the period that includes the enactment date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Income tax expense or benefit is recognized for the amount of taxes payable or refundable for the current year and for deferred tax assets and liabilities for the tax consequences of events that have been recognized in an entity&#x2019;s financial statements or tax returns. The Company must make significant assumptions, judgments and estimates to determine its current income tax provision (benefit), its deferred tax assets and liabilities, and any valuation allowance to be recorded against its deferred tax assets. The Company's estimates and assumptions may differ from the actual results as reflected on its income tax returns and will record the required adjustments when they are identified or resolved.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company applies a two-step approach to determining the financial statement recognition and measurement of uncertain tax positions. The Company only recognizes an income tax expense or benefit with respect to uncertain tax positions in its financial statements that the Company judges is more likely than not to be sustained solely on its technical merits in a tax audit, including resolution of any related appeals or litigation processes. To make this judgment, the Company must interpret complex and sometimes ambiguous tax laws, regulations and administrative practices. If an income tax position meets the more likely than not recognition threshold, then the Company must measure the amount of the tax benefit to be recognized by determining the largest amount of tax benefit that has a greater than a 50% likelihood of being realized upon effective settlement with a taxing authority that has full knowledge of all of the relevant facts. It is inherently difficult and subjective to estimate such amounts, as this requires the Company to determine the probability of various possible settlement outcomes. To determine if a tax position is effectively settled after a tax examination has been completed, the Company must also estimate the likelihood that another taxing authority could review the respective tax position. The Company must also determine when it is reasonably possible that the amount of unrecognized tax benefits will significantly increase or decrease in the 12 months after each fiscal year-end. These judgments are difficult because a taxing authority may change its behavior as a result of the Company's disclosures in its financial statements. The Company must reevaluate its income tax positions on a quarterly basis to consider factors such as changes in facts or circumstances, changes in tax law, effectively settled issues under audit, and new audit activity. Such a change in recognition or measurement would result in recognition of a tax benefit or an additional charge to the tax provision. The Company's policy is to recognize interest and penalties related to unrecognized tax benefits as a component of the provision for income taxes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Comprehensive Income (Loss)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other comprehensive income (loss) consists of unrealized gains (losses) on marketable securities, net of tax, and derivative financial instruments designated as cash flow hedges, net of tax, which are not included in the Company&#x2019;s net income. Total comprehensive income includes net income and other comprehensive income (loss) and is included in the consolidated statements of comprehensive income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Foreign Currency Transactions&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s operations are conducted in various countries around the world and the financial statements of its foreign subsidiaries are reported in the U.S. dollar as their respective functional currency. Monetary assets and liabilities denominated in foreign currencies have been re-measured into U.S. dollars using the exchange rates in effect at the balance sheet date, and income and expenses are re-measured at average exchange rates during the period. Foreign currency re-measurement gains and losses and foreign currency transaction gains and losses are recognized in other income (expense), net.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Net Income Per Share &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic net income per share is computed by dividing net income by the weighted-average number of shares outstanding during the period. Diluted net income per share is computed by dividing net income by the weighted-average number of shares outstanding plus potentially dilutive shares outstanding during the period. The potentially dilutive shares are computed by applying the treasury stock method to the Company's stock options, RSUs and the stock purchase rights under the ESPP. Any potential shares that would be anti-dilutive are excluded from the computation of diluted net income per share.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;None.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Issued Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In November 2023, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2023-07 requiring enhanced segment disclosures. The ASU requires disclosure of significant segment expenses regularly provided to the chief operating decision maker ("CODM") included within segment operating profit or loss. Additionally, the ASU requires a description of how the CODM utilizes segment operating profit or loss to assess segment performance. The requirements of the ASU are effective for annual periods beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company's annual reporting requirements will be effective for fiscal 2024 and interim reporting requirements will be effective beginning with the first quarter of fiscal 2025. Early adoption is permitted and retrospective application is required for all periods presented. The Company is in the process of analyzing the impact of the ASU on related disclosures.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2023, the FASB issued ASU 2023-09 requiring enhanced income tax disclosures. The ASU requires disclosure of specific categories and disaggregation of information in the rate reconciliation table. The ASU also requires disclosure of disaggregated information related to income taxes paid, income or loss from continuing operations before income tax expense or benefit, and income tax expense or benefit from continuing operations. The requirements of the ASU are effective for annual periods beginning after December 15, 2024. Early adoption is permitted and the amendments should be applied on a prospective basis. Retrospective application is permitted. The Company is in the process of analyzing the impact of the ASU on related disclosures.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company does not believe any other new accounting pronouncements issued by the FASB that have not become effective will have a material impact on its consolidated financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <qlys:DescriptionOfBusinessPolicyPolicyTextBlock contextRef="c-1" id="f-378">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Description of Business &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Qualys, Inc. (the &#x201c;Company&#x201d;, "we", "us", "our") was incorporated in the state of Delaware on&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December 30, 1999&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is headquartered in Foster City, California and has wholly-owned subsidiaries throughout the world. The Company is a leading provider of cloud-based IT, security and compliance solutions that enable organizations to identify security risks to their IT infrastructures, help protect their IT systems and applications from ever-evolving cyber-attacks and achieve compliance with internal policies and external regulations. The Company&#x2019;s cloud solutions address the growing security and compliance complexities and risks that are amplified by the dissolving boundaries between internal and external IT infrastructures and web environments, the rapid adoption of cloud computing and the proliferation of geographically dispersed IT assets. Organizations can use the Company&#x2019;s integrated suite of solutions delivered on Qualys' Enterprise TruRisk Platform to cost-effectively obtain a unified view of their security and compliance posture across globally-distributed IT infrastructures.&lt;/span&gt;&lt;/div&gt;</qlys:DescriptionOfBusinessPolicyPolicyTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="c-1" id="f-379">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying consolidated financial statements and footnotes have been prepared in accordance with U.S. GAAP as well as the instructions to Form 10-K and the rules and regulations of the SEC. Certain prior year amounts have been reclassified to conform with the current year presentation. In the opinion of management, the accompanying consolidated financial statements reflect all adjustments, which include only normal recurring adjustments, necessary for the fair presentation of the Company&#x2019;s consolidated financial position, results of operations and cash flows for the periods presented. The accompanying consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany transactions and balances have been eliminated upon consolidation.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates contextRef="c-1" id="f-380">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of the consolidated financial statements in conformity with U.S. GAAP requires management to make certain estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of assets and liabilities at the date of the consolidated financial statements and the reported results of operations during the reporting period. The Company&#x2019;s management regularly assesses these estimates, which primarily affect revenue recognition, allowance for credit loss, the valuation of goodwill and intangible assets, leases, stock-based compensation and income tax provision. Actual results could differ from those estimates and such differences may be material to the accompanying consolidated financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="c-1" id="f-381">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Concentration of Credit Risk&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company invests its cash and cash equivalents with major financial institutions. Cash balances with any one institution at times may be in excess of federally insured limits. Cash equivalents are invested in high-quality investment grade financial instruments and are diversified. The Company has not experienced any losses in such accounts and believes it is not exposed to any significant credit risk.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Credit risk with respect to accounts receivable is dispersed due to the large number of customers. Collateral is not required for accounts receivable. As of December&#160;31, 2023 and 2022, &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;no customer or channel partner accounted for more than 10% of the Company's revenues and accounts receivable balance.&lt;/span&gt;&lt;/div&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <qlys:CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock contextRef="c-1" id="f-382">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash, Cash Equivalents, Restricted cash and Short-Term and Long-Term Marketable Securities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash and cash equivalents include cash held in banks, highly liquid money market funds, and fixed-income U.S. Treasury and government agencies, all with original maturities of three months or less when acquired. The Company&#x2019;s short-term and long-term marketable securities consist of fixed-income U.S. and foreign government agency securities, corporate bonds, asset-backed securities and commercial paper. Management determines the appropriate classification of the Company's investments at the time of purchase and reevaluates such designation at each balance sheet date. The Company classifies its marketable securities as either short-term or long-term based on each instrument's underlying remaining contractual maturity date. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023 and 2022, the Company had a restricted cash balance of $2.7 million, of which $1.5 million is related to cash held in escrow as part of the Blue Hexagon acquisition and $1.2 million in the form of a letter of credit issued to the landlord of the Company's California headquarter office lease as security deposit.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash equivalents are stated at cost, which approximates fair market value. Short-term and long-term marketable securities are classified as available-for-sale debt securities (AFS debt securities) and are carried at fair value. Unrealized gains and losses in fair value of the AFS debt securities are reported in other comprehensive income (loss). When the AFS debt securities are sold, cost is based on the specific identification method, and the realized gains and losses are included in other income (expense), net in the consolidated statements of operations. AFS debt securities are reviewed quarterly for impairment. An investment is considered impaired when its fair value is below its amortized cost. Declines in fair value from amortized cost for AFS debt securities that the company intends to sell or will more likely than not be required to sell before the expected recovery of the amortized cost basis are charged to other income (expense), net in the period in which the loss occurs. Otherwise, the credit loss component of the impairment is recorded as allowance for credit losses with an offsetting entry charged to other income (expense), net, while the remaining loss is recognized in other comprehensive income (loss).&lt;/span&gt;&lt;/div&gt;</qlys:CashCashEquivalentsAndShorttermAndLongtermInvestmentsPolicyPolicyTextBlock>
    <us-gaap:RestrictedCash contextRef="c-4" decimals="-5" id="f-383" unitRef="usd">2700000</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash contextRef="c-5" decimals="-5" id="f-384" unitRef="usd">2700000</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash contextRef="c-38" decimals="-5" id="f-385" unitRef="usd">1500000</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash contextRef="c-39" decimals="-5" id="f-386" unitRef="usd">1500000</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash contextRef="c-40" decimals="-5" id="f-387" unitRef="usd">1200000</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash contextRef="c-41" decimals="-5" id="f-388" unitRef="usd">1200000</us-gaap:RestrictedCash>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy contextRef="c-1" id="f-389">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounts Receivable&lt;/span&gt;&lt;/div&gt;Accounts receivable are recorded at the invoiced amount and do not bear interest. The allowance for credit losses is determined on a collective basis where similar risk characteristics exist and on an individual basis when the Company identifies significant customers or invoices with collectability issues. The estimate for credit losses considers historical write-offs by aging category, that are adjusted for current conditions and reasonable and supportable forecasts of future losses. Any change in the assumptions used in analyzing credit losses may result in additional allowances being recognized in the period in which the change occurs. When the Company ultimately concludes that a receivable is uncollectible, the balance is written off against the allowance for credit losses. Payments subsequently received on such receivables are recognized in the period received. The allowance for credit losses recognized and write-offs charged against the allowance were not significant for the years ended December&#160;31, 2023 and 2022. The balance of accounts receivable, net of allowance for credit losses was $146.2 million, $121.8 million and $109.0 million as of December&#160;31, 2023, December&#160;31, 2022 and December&#160;31, 2021, respectively.</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:AccountsReceivableNet contextRef="c-4" decimals="-5" id="f-390" unitRef="usd">146200000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet contextRef="c-5" decimals="-5" id="f-391" unitRef="usd">121800000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet contextRef="c-8" decimals="-5" id="f-392" unitRef="usd">109000000</us-gaap:AccountsReceivableNet>
    <us-gaap:SecuritiesOwnedNotReadilyMarketablePolicy contextRef="c-1" id="f-393">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Non-marketable securities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2018, the Company invested $2.5 million in preferred stock of a privately-held company (the &#x201c;Investee&#x201d;). The fair value of the investment is not readily available, and there are no quoted market prices for the investment. The Company elected the measurement alternative to account for the investment at cost less impairment and will measure the investment at fair value when the Company identifies observable price changes. The investment is assessed for impairment annually or whenever events or changes in circumstances indicate that the fair value of the investment is less than carrying value. The investment is included in other noncurrent assets in the consolidated balance sheets. The Company has not received any dividends from the investment. During the second quarter of 2023, the Company identified an observable price change in the investment and recognized an immaterial unrealized loss in other income (expense), net of the consolidated statement of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2019, the Company made an advance payment of $0.6 million to the Investee for it to perform certain technology development work, which should either be settled in the form of royalty fee charges when the technology materializes and is licensed to the Company or, otherwise, should be repaid to the Company in cash. The advance payment was recorded in other non-current assets in the consolidated balance sheet. During the fourth quarter ended December 31, 2021, the technology has not been developed and the Company decided to no longer pursue the development of the technology or the collection of the advanced amount. Accordingly, the entire amount of the advance payment was written off and recorded in the general and administrative expense during the year ended December 31, 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:SecuritiesOwnedNotReadilyMarketablePolicy>
    <us-gaap:Investments contextRef="c-42" decimals="-5" id="f-394" unitRef="usd">2500000</us-gaap:Investments>
    <us-gaap:ProceedsFromDividendsReceived contextRef="c-1" decimals="-5" id="f-395" unitRef="usd">0</us-gaap:ProceedsFromDividendsReceived>
    <us-gaap:ProceedsFromDividendsReceived contextRef="c-7" decimals="-5" id="f-396" unitRef="usd">0</us-gaap:ProceedsFromDividendsReceived>
    <us-gaap:ProceedsFromDividendsReceived contextRef="c-6" decimals="-5" id="f-397" unitRef="usd">0</us-gaap:ProceedsFromDividendsReceived>
    <us-gaap:PaymentsForAdvanceToAffiliate contextRef="c-43" decimals="-5" id="f-398" unitRef="usd">600000</us-gaap:PaymentsForAdvanceToAffiliate>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="c-1" id="f-399">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and Equipment, net&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are stated at cost less accumulated depreciation and amortization. Depreciation is computed using the straight-line method over the estimated useful lives of the assets, which range from &lt;span style="-sec-ix-hidden:f-400"&gt;three&lt;/span&gt; to five years. Leasehold improvements are amortized on a straight-line basis over the lesser of the estimated useful life of the asset or the remaining lease term.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company purchases physical scanner appliances and other computer equipment that are provided to some customers on a subscription basis. This equipment is recorded within property and equipment and the depreciation is recorded in cost of revenues over an estimated useful life of three years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Upon retirement or disposal, the cost of assets and the related accumulated depreciation are removed from the accounts and any resulting gain or loss is reflected in the consolidated statements of operations. Repairs and maintenance that do not extend the life of an asset are expensed as incurred and major improvements are capitalized as property and equipment.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-45" id="f-401">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-46" id="f-402">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:LesseeLeasesPolicyTextBlock contextRef="c-1" id="f-403">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company leases certain offices, computer equipment and its shared cloud platform facilities under finance leases and non-cancelable operating leases. For both operating and finance leases, the Company recognizes a right-of-use asset, which represents the Company's right to use the underlying asset for the lease term, and a lease liability, which represents the present value of the Company's obligation to make payments arising over the lease term. Many of the Company's leases include rental escalation clauses, renewal options and/or termination options that are factored into the Company's determination of lease payments and lease terms when appropriate. The present value of the lease payments is calculated using the incremental borrowing rate of the underlying leases determined at lease commencement. As most of the Company's leases do not provide a readily determinable implicit rate, the Company determines an incremental borrowing rate using a portfolio approach based on the rate of interest that the Company would have to pay to borrow an amount equal to the lease payments on a collateralized basis over a similar term as the leases. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Where the Company is the lessee, the Company elects to account for non-lease components associated with its leases (e.g., common area maintenance costs) and lease components separately for substantially all of its asset classes, except for shared cloud platforms, for which the Company elected to combine lease and non-lease components. For leases with a term of one year or less, the Company has elected not to record the right-of-use asset or liability.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In arrangements where the Company is the lessor, the Company elected to apply the practical expedient to account for lease components (e.g., customer premise equipment) and non-lease components (e.g., service revenue) as combined components as revenue under ASC 606 as service revenues are the predominant components in the arrangements.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock contextRef="c-1" id="f-404">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Impairment of Long-Lived Assets &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company evaluates its long-lived assets, which consist of property and equipment, and intangible assets subject to amortization, for indicators of possible impairment when events or changes in circumstances indicate the carrying amount of an asset may not be recoverable. Impairment exists if the carrying amounts of such assets exceed the estimates of future undiscounted cash flows expected to be generated by such assets. Should an impairment exist, the impairment loss would be measured based on the excess carrying value of the asset over the asset&#x2019;s estimated fair value. For the years ended December&#160;31, 2023, 2022 and 2021, there was no impairment of long-lived assets.&lt;/span&gt;&lt;/div&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse contextRef="c-6" decimals="INF" id="f-405" unitRef="usd">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse contextRef="c-7" decimals="INF" id="f-406" unitRef="usd">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse contextRef="c-1" decimals="INF" id="f-407" unitRef="usd">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock contextRef="c-1" id="f-408">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Goodwill and Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill represents the excess of the purchase price over the fair value of the net tangible and identifiable intangible assets acquired in a business combination. Goodwill and indefinite-lived intangible assets are not amortized but tested for impairment at least annually or more frequently if certain circumstances indicate a possible impairment may exist. The goodwill impairment tests are performed at the reporting unit level. The Company&#x2019;s operations are organized as one reporting unit.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In testing for a potential impairment of goodwill and the indefinite-lived intangible assets, the Company first performs a qualitative assessment to determine if it is more likely than not (a more than 50% likelihood) that the fair value of the reporting unit or the indefinite-lived intangible assets is less than their carrying amount. If the fair value is not considered to be less than the carrying amount, no further evaluation is necessary. Otherwise, the Company will perform a quantitative test. Goodwill impairment is measured as the amount by which the carrying value of the reporting unit or the indefinite-lived intangible assets exceeds their fair value. The Company performed the annual assessments on December 1, 2023 and 2022 and concluded there was no impairment of goodwill or the indefinite-lived intangible assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Software Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The costs to develop software that is marketed externally have not been capitalized as the Company believes its current software development process is essentially completed concurrent with the establishment of technological feasibility. As such, all related software development costs are expensed as incurred and included in research and development expense on the Company's consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs related to software developed, acquired or modified for internal use are capitalized and included in other noncurrent assets on the consolidated balance sheets. Costs incurred during the preliminary planning and evaluation stage of the project and during the post implementation stages of the project are expensed as incurred. Costs incurred during the application development stage of the project are capitalized. These capitalized costs consist of internal compensation related costs and external direct costs.   Costs related to software developed for internal use are amortized over an estimated useful life of three years and recorded in cost of revenues. Management evaluates the useful lives of these assets on an annual basis and tests for impairment whenever events or changes in circumstances occur that could impact the recoverability of these assets. As of December&#160;31, 2023 and &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, unamortized balances related to the Company's internally developed software costs are immaterial.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:NumberOfReportingUnits
      contextRef="c-1"
      decimals="INF"
      id="f-409"
      unitRef="reportingunit">1</us-gaap:NumberOfReportingUnits>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-47" id="f-410">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <qlys:AssetAcquisitionsPolicyTextBlock contextRef="c-1" id="f-412">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Asset Acquisitions and Business Combinations &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company applies the provisions of ASC 805, Business Combinations, in accounting for its acquisitions. To determine whether transactions should be accounted for as asset acquisition or business combination, the Company evaluates whether substantially all of the fair value of gross assets included in a transaction is concentrated in a single asset (or a group of similar assets), resulting in an asset acquisition, if not, resulting in a business combination. In an asset acquisition, the cost of acquiring the asset group, including transaction costs, is allocated to the acquired assets or assumed liabilities based on their relative fair values without giving rise to goodwill. In a business combination, the Company recognize separately from goodwill the assets acquired and the liabilities assumed at their acquisition date fair values. Goodwill as of the acquisition date is measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities assumed. While the Company uses its best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, its estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company records adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon the conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to its consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;</qlys:AssetAcquisitionsPolicyTextBlock>
    <us-gaap:BusinessCombinationsPolicy contextRef="c-1" id="f-411">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Asset Acquisitions and Business Combinations &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company applies the provisions of ASC 805, Business Combinations, in accounting for its acquisitions. To determine whether transactions should be accounted for as asset acquisition or business combination, the Company evaluates whether substantially all of the fair value of gross assets included in a transaction is concentrated in a single asset (or a group of similar assets), resulting in an asset acquisition, if not, resulting in a business combination. In an asset acquisition, the cost of acquiring the asset group, including transaction costs, is allocated to the acquired assets or assumed liabilities based on their relative fair values without giving rise to goodwill. In a business combination, the Company recognize separately from goodwill the assets acquired and the liabilities assumed at their acquisition date fair values. Goodwill as of the acquisition date is measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities assumed. While the Company uses its best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as any contingent consideration, where applicable, its estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which may be up to one year from the acquisition date, the Company records adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon the conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are recorded to its consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationsPolicy>
    <us-gaap:DerivativesReportingOfDerivativeActivity contextRef="c-1" id="f-413">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Derivative Financial Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Derivative financial instruments are utilized by the Company to reduce foreign currency exchange risks. The Company uses foreign currency forward contracts, with maturities of 13 months or less, to mitigate the impact of foreign currency fluctuations of certain non-U.S. dollar denominated net asset positions, to date primarily cash, accounts receivable and operating lease liabilities, as well as to manage foreign currency fluctuation risk related to forecasted transactions. Open contracts are recorded within prepaid expenses and other current assets, other noncurrent assets, accrued liabilities or other noncurrent liabilities in the consolidated balance sheets. Gains and losses resulting from currency exchange rate movements on non-designated forward contracts are recognized in other income (expense), net. Any gains or losses from derivatives designated as cash flow hedges are first recorded within accumulated other comprehensive income (&#x201c;AOCI&#x201d;) and then reclassified into revenue or operating expenses when the hedged item impacts the consolidated statements of operations. Cash flows related to these forward contracts are classified in the Company's consolidated statements of cash flows in the same manner as the underlying hedged transaction within cash flows from operating activities.&lt;/span&gt;&lt;/div&gt;</us-gaap:DerivativesReportingOfDerivativeActivity>
    <us-gaap:DerivativeTermOfContract contextRef="c-48" id="f-414">P13M</us-gaap:DerivativeTermOfContract>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy contextRef="c-1" id="f-415">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes the fair value of its stock options, restricted stock units (&#x201c;RSUs&#x201d;) and stock purchase rights under the ESPP on a straight-line basis over the requisite service periods. The fair value of each stock option or stock purchase right is estimated on the date of grant using the Black-Scholes-Merton option pricing model and the fair value of each RSU is based on the Company's common stock price on the date of grant. Compensation expenses for performance-based stock options (&#x201c;PSOs&#x201d;) and performance-based restricted stock units (&#x201c;PSUs&#x201d;) are recorded based on expected achievement of the performance metrics specified in the grant, which are assessed on a quarterly basis. Forfeitures are estimated on the date of grant and revised if actual or expected forfeiture materially differs from original estimates.&lt;/span&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:RevenueRecognitionPolicyTextBlock contextRef="c-1" id="f-416">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company derives revenues from subscriptions that require customers to pay a fee in order to access the Company&#x2019;s cloud solutions. Contract period with customers generally are one year with occasional contracts ranging up to five years. The subscription fee entitles the customer to an unlimited number of scans for a specified number of networked devices or web applications and, if requested by a customer as part of their subscription, a specified number of physical or virtual scanner appliances. The Company&#x2019;s physical and virtual scanner appliances are requested by certain customers as part of their subscriptions in order to scan IT infrastructures within their firewalls and do not function without, and are not sold separately from, subscriptions for the Company&#x2019;s solutions. In some limited cases, the Company also provides certain computer equipment used to extend Qualys' Enterprise TruRisk Platform into its customers&#x2019; private cloud environment. Customers are required to return physical scanner appliances and computer equipment if they do not renew their subscriptions. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:27pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company determines revenue recognition through the following steps:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Identification of the contract, or contracts, with a customer;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Identification of the performance obligations in the contract;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Determination of the transaction price;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Allocation of the transaction price to the performance obligations in the contract; and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Recognition of revenue when, or as, the Company satisfies a performance obligation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At the inception of a customer contract, the Company makes an assessment as to that customer's ability to pay for the services provided. The Company assesses collectability based on several factors, including credit worthiness of the customer along with past transaction history. In addition, the Company performs periodic evaluations of its customers&#x2019; financial condition. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Most of the Company&#x2019;s revenue contracts are subscription based and contain a single performance obligation. The subscription contracts typically do not offer to the customers any future rights that would constitute material rights. Contract prices are generally composed of fixed consideration for a specific period of time as the Company in general does not offer refunds, volume rebates, customer loyalty programs or other forms of customer incentive payments. In limited situations, contract prices are contingent on future events, such as actual usage during the contract terms, which are accounted for as variable consideration and estimated based on the most likely amount of consideration that the Company is expected to be entitled to. Estimates are included in the contract price to the extent that it is considered probable that a significant reversal in the amount of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. Such estimates are made at contract inception and updated periodically when additional information becomes available. A cumulative catch-up adjustment is made when there is a change in the estimate of variable consideration.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As the Company's cloud-based subscription services are delivered to customers electronically and over time, revenue is generally recognized ratably over the contract terms. When physical equipment is provided to the customers as part of the subscription service contract, the Company applies the practical expedient allowed under ASC 842 Leases to combine lease and nonlease components as a combined component to be accounted for under ASC 606, as the Company determined that the software subscription is the predominant component of the combined components. Therefore, the Company recognizes revenue for the physical equipment ratably over the related subscription period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract modifications happen when there is an upsell, where the customers subsequently enter into contract with the Company to purchase additional product offerings or additional scans for additional devices. Contract modifications related to upsells are accounted for prospectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred revenues consist of customer contracts billed or cash received that will be recognized in the future under subscriptions existing at the balance sheet date. The current portion of deferred revenues represents amounts that are expected to be recognized within one year of the balance sheet date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs of shipping and handling charges incurred by the Company associated with physical scanner appliances and other computer equipment are included in cost of revenues. Sales taxes and other taxes collected from customers to be remitted to government authorities are excluded from revenues.&lt;/span&gt;&lt;/div&gt;Incremental direct costs of obtaining a contract, which consist of sales commissions primarily for new business and upsells, are deferred and amortized over the estimated life of the customer relationship if renewals are expected and the renewal commission is not commensurate with the initial commission. The Company elected the practical expedient to expense commissions on renewals where the specific anticipated contract term amortization period is one year or less. The Company amortizes the capitalized commission cost as a selling expense on a straight-line basis over a period of five years. The Company classifies deferred commissions as current or noncurrent based on the timing of when it expects to recognize the expense. The current and noncurrent portions of deferred commissions are included in prepaid expenses and other current assets and other noncurrent assets, respectively, in its consolidated balance sheets.</us-gaap:RevenueRecognitionPolicyTextBlock>
    <us-gaap:CapitalizedContractCostAmortizationPeriod contextRef="c-4" id="f-417">P5Y</us-gaap:CapitalizedContractCostAmortizationPeriod>
    <us-gaap:AdvertisingCostsPolicyTextBlock contextRef="c-1" id="f-418">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Advertising Expenses&lt;/span&gt;&lt;/div&gt;Advertising costs are expensed as incurred and are included in sales and marketing expense in the consolidated statements of operations.</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense contextRef="c-1" decimals="-5" id="f-419" unitRef="usd">3000000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense contextRef="c-6" decimals="-5" id="f-420" unitRef="usd">3300000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense contextRef="c-7" decimals="-5" id="f-421" unitRef="usd">2100000</us-gaap:AdvertisingExpense>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="c-1" id="f-422">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company provides for the effect of income taxes in its consolidated financial statements using the asset and liability method which requires the recognition of deferred tax assets and liabilities for the expected future tax consequences of events that have been included in the consolidated financial statements. Under this method, deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases, net operating loss carryovers, and tax credit carry forwards. The Company regularly reviews its deferred tax assets for recoverability and establishes a valuation allowance if it is more likely than not that some portion or all of the deferred tax assets will not be realized. To make this assessment, the Company takes into account predictions of the amount and category of taxable income from various sources and all available positive and negative evidence about these possible sources of taxable income. The weight given to the potential effect of negative and positive evidence is commensurate with the extent to which the strength of the evidence can be objectively verified. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in the period that includes the enactment date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Income tax expense or benefit is recognized for the amount of taxes payable or refundable for the current year and for deferred tax assets and liabilities for the tax consequences of events that have been recognized in an entity&#x2019;s financial statements or tax returns. The Company must make significant assumptions, judgments and estimates to determine its current income tax provision (benefit), its deferred tax assets and liabilities, and any valuation allowance to be recorded against its deferred tax assets. The Company's estimates and assumptions may differ from the actual results as reflected on its income tax returns and will record the required adjustments when they are identified or resolved.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company applies a two-step approach to determining the financial statement recognition and measurement of uncertain tax positions. The Company only recognizes an income tax expense or benefit with respect to uncertain tax positions in its financial statements that the Company judges is more likely than not to be sustained solely on its technical merits in a tax audit, including resolution of any related appeals or litigation processes. To make this judgment, the Company must interpret complex and sometimes ambiguous tax laws, regulations and administrative practices. If an income tax position meets the more likely than not recognition threshold, then the Company must measure the amount of the tax benefit to be recognized by determining the largest amount of tax benefit that has a greater than a 50% likelihood of being realized upon effective settlement with a taxing authority that has full knowledge of all of the relevant facts. It is inherently difficult and subjective to estimate such amounts, as this requires the Company to determine the probability of various possible settlement outcomes. To determine if a tax position is effectively settled after a tax examination has been completed, the Company must also estimate the likelihood that another taxing authority could review the respective tax position. The Company must also determine when it is reasonably possible that the amount of unrecognized tax benefits will significantly increase or decrease in the 12 months after each fiscal year-end. These judgments are difficult because a taxing authority may change its behavior as a result of the Company's disclosures in its financial statements. The Company must reevaluate its income tax positions on a quarterly basis to consider factors such as changes in facts or circumstances, changes in tax law, effectively settled issues under audit, and new audit activity. Such a change in recognition or measurement would result in recognition of a tax benefit or an additional charge to the tax provision. The Company's policy is to recognize interest and penalties related to unrecognized tax benefits as a component of the provision for income taxes.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock contextRef="c-1" id="f-423">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Comprehensive Income (Loss)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other comprehensive income (loss) consists of unrealized gains (losses) on marketable securities, net of tax, and derivative financial instruments designated as cash flow hedges, net of tax, which are not included in the Company&#x2019;s net income. Total comprehensive income includes net income and other comprehensive income (loss) and is included in the consolidated statements of comprehensive income.&lt;/span&gt;&lt;/div&gt;</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock contextRef="c-1" id="f-424">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Foreign Currency Transactions&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s operations are conducted in various countries around the world and the financial statements of its foreign subsidiaries are reported in the U.S. dollar as their respective functional currency. Monetary assets and liabilities denominated in foreign currencies have been re-measured into U.S. dollars using the exchange rates in effect at the balance sheet date, and income and expenses are re-measured at average exchange rates during the period. Foreign currency re-measurement gains and losses and foreign currency transaction gains and losses are recognized in other income (expense), net.&lt;/span&gt;&lt;/div&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="c-1" id="f-425">&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Net Income Per Share &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic net income per share is computed by dividing net income by the weighted-average number of shares outstanding during the period. Diluted net income per share is computed by dividing net income by the weighted-average number of shares outstanding plus potentially dilutive shares outstanding during the period. The potentially dilutive shares are computed by applying the treasury stock method to the Company's stock options, RSUs and the stock purchase rights under the ESPP. Any potential shares that would be anti-dilutive are excluded from the computation of diluted net income per share.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="c-1" id="f-426">&lt;div style="margin-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;None.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Issued Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In November 2023, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2023-07 requiring enhanced segment disclosures. The ASU requires disclosure of significant segment expenses regularly provided to the chief operating decision maker ("CODM") included within segment operating profit or loss. Additionally, the ASU requires a description of how the CODM utilizes segment operating profit or loss to assess segment performance. The requirements of the ASU are effective for annual periods beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company's annual reporting requirements will be effective for fiscal 2024 and interim reporting requirements will be effective beginning with the first quarter of fiscal 2025. Early adoption is permitted and retrospective application is required for all periods presented. The Company is in the process of analyzing the impact of the ASU on related disclosures.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2023, the FASB issued ASU 2023-09 requiring enhanced income tax disclosures. The ASU requires disclosure of specific categories and disaggregation of information in the rate reconciliation table. The ASU also requires disclosure of disaggregated information related to income taxes paid, income or loss from continuing operations before income tax expense or benefit, and income tax expense or benefit from continuing operations. The requirements of the ASU are effective for annual periods beginning after December 15, 2024. Early adoption is permitted and the amendments should be applied on a prospective basis. Retrospective application is permitted. The Company is in the process of analyzing the impact of the ASU on related disclosures.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company does not believe any other new accounting pronouncements issued by the FASB that have not become effective will have a material impact on its consolidated financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:FairValueDisclosuresTextBlock contextRef="c-1" id="f-427">Fair Value of Financial Instruments&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. For certain of the Company&#x2019;s financial instruments, including certain cash equivalents, accounts receivable, accounts payable and accrued liabilities, the carrying amounts approximate their fair values due to the relatively short maturity of these balances.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company measures and reports certain cash equivalents, marketable securities, derivative foreign currency forward contracts at fair value in accordance with the provisions of the authoritative accounting guidance that addresses fair value measurements. This guidance establishes a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. The hierarchy is broken down into three levels based on the reliability of inputs as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Level 1 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;- Valuations based on quoted prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Level 2 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;- Valuations based on other than quoted prices in active markets for identical assets and liabilities, including quoted prices for identical assets or liabilities in less active or inactive markets, quoted prices for similar assets or liabilities in active markets, or inputs other than quoted prices that are observable for substantially the full term of the assets or liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Level 3 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;- Valuations based on inputs that are generally unobservable and typically reflect management&#x2019;s estimates of assumptions that market participants would use in pricing the asset or liability.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's financial instruments consist of assets and liabilities measured using Level 1 and 2 inputs. Level 1 assets include a highly liquid money market fund, which is valued using unadjusted quoted prices that are available in an active market for an identical asset. Level 2 assets include fixed-income U.S. Treasury and government agency securities, commercial paper, corporate bonds, asset-backed securities, foreign government securities and derivative financial instruments consisting of foreign currency forward contracts. The securities, bonds and commercial paper are valued using prices from independent pricing services based on quoted prices of identical instruments in less active or inactive markets, quoted prices of similar instruments in active markets, or industry models using data inputs such as interest rates and prices that can be directly observed or corroborated in active markets. The foreign currency forward contracts are valued using observable inputs, such as quotations on forward foreign exchange points and foreign interest rates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth by level within the fair value hierarchy the fair value of the Company's financial assets and liabilities measured at fair value on a recurring basis:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;208,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;208,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;56,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;56,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign currency forward contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;333,272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;333,359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign currency forward contracts&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,986&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,986&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,986&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,986&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;82,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;82,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;156,662&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;156,662&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign government&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;63,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;63,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;15,027&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;15,027&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign currency forward contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;82,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;238,098&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;320,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign currency forward contracts&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There were no transfers between Level 1, Level 2 and Level 3 categories during the years ended December&#160;31, 2023 and 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash equivalent and investments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's cash equivalents and marketable securities consist of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:47.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Unrealized Gains&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Unrealized Losses&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash equivalents: (1)&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: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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&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="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,620&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,707&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Short-term marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;23,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(149)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;22,865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&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="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;144,901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;52&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(204)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;144,749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&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="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;222,168&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;85&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(360)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;221,893&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;33,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;285&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(22)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;33,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,116&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,163&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;56,238&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(30)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;56,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;333,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(390)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;333,248&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:40.5pt;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt"&gt;Excludes cash of $149.0 million. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:47.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Unrealized Gains&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Unrealized Losses&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash equivalents: (1)&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: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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;82,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;82,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;29,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;29,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;112,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;112,492&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Short-term marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #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:1pt solid #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:1pt solid #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:1pt solid #000;padding:0 1pt"&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="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;36,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(337)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;36,574&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;726&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;110,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(921)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;109,304&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign government&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;148,867&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,262)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;147,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #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:1pt solid #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:1pt solid #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:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;28,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(810)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;27,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(132)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,303&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;18,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(509)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;17,567&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;60,657&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,451)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;59,206&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;322,012&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,713)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;319,306&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt"&gt;Excludes cash of $61.2 million. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the gross unrealized losses and fair value of the Company's marketable securities that were in an unrealized loss position aggregated by length of time: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:22.328%"&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.185%"&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.371%"&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.185%"&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.371%"&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.185%"&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.371%"&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.185%"&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.371%"&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.185%"&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.371%"&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.192%"&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="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2023&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="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Less than 12 months&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;12 months or longer&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Total&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair value&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Gross unrealized losses&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair value&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Gross unrealized losses&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair value&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Gross unrealized losses&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="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;24,838&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;24,838&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,485&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,485&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;20,717&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(171)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;20,717&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(171)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;43,373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(18)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;18,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(188)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;61,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(206)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;68,211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(25)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(365)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;108,585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(390)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:21.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.334%"&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="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2022&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="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Less than 12 months&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;12 months or longer&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Total&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair value&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Gross unrealized losses&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair value&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Gross unrealized losses&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair value&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Gross unrealized losses&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="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign government agencies&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;998&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;998&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(124)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(10)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;15,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(134)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;33,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(389)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;26,326&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(758)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;60,126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,147)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;89,802&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,175)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;36,833&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(255)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;126,635&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,430)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;137,965&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,690)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;64,811&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,023)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;202,776&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,713)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company considered the extent to which any unrealized losses on its marketable securities were driven by credit risk and other factors, including market risk, and if it is more-likely-than-not that the Company would have to sell the security before the recovery of the amortized cost basis. At December 31, 2023 and 2022, the unrealized losses related to its marketable securities were due to rising market interest rates compared to when the investments were initiated. The Company does not believe the unrealized losses represent credit risk, and the Company does not intend to sell any of the securities in an unrealized loss position and it is not likely that the Company would be required to sell these securities before recovery of their amortized cost basis, which may be at maturity. Thus, no credit loss was recognized for the Company's marketable securities for the years ended December 31, 2023 and 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following summarizes the fair value of marketable securities by contractual maturity:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.471%"&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.328%"&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.371%"&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.330%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Due within One Year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;276,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;276,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Due after One Year through Two Years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;27,814&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;27,982&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Mature over Two Years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,639&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,781&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;333,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;333,248&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Derivative Financial Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Designated cash flow hedges&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company enters into foreign currency forward contracts to reduce the risk of variability in future cash flow due to foreign currency exchange rate fluctuation from certain forecasted subscription revenue orders billed in GBP and EUR and operation expenses incurred in INR, which are designated as cash flow hedges. Hedge effectiveness is assessed at inception and at each reporting period utilizing regression analysis. Unrealized foreign exchange gains or losses related to those designated cash flow hedge contracts are recorded in accumulated other comprehensive income ("AOCI") and will be reclassified into revenues or operating expenses, respectively, in the same periods when the hedged transactions are recognized in earnings.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023, the Company had designated cash flow hedge forward contracts with notional amounts of &#x20ac;48.5 million, &#xa3;14.6 million and Rs.4,042.0 million. As of December&#160;31, 2022, the Company had designated cash flow hedge forward contracts with notional amounts of &#x20ac;37.4 million, &#xa3;10.4 million and Rs.3,411.0 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, a net amount of unrealized loss of $1.5 million before tax on the foreign currency forward contracts for GBP and EUR reported in AOCI is expected to be reclassified into revenue within the next 12 months. As of &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, an immaterial amount of unrealized loss before tax on the foreign currency forward contracts for INR reported in AOCI is expected to be reclassified into operating expenses within the next 12 months.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Non-designated forward contracts&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company also uses foreign currency forward contracts to hedge certain foreign currency denominated assets or liabilities, which are not designated as cash flow hedges. Unrealized foreign exchange gain or losses related to the non-designated forward contracts are recorded in other income (expenses), net and offset the foreign exchange gain or loss on the underlying net monetary assets or liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023, the Company had non-designated forward contracts with notional amounts of &#x20ac;19.2 million, &#xa3;6.0 million, Rs.440.0 million, and C$1.0 million. As of December&#160;31, 2022, the Company had non-designated forward contracts with notional amounts of &#x20ac;40.2 million, &#xa3;16.2 million, Rs.484.0 million, and C$3.8 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following summarizes &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;the fair value of &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;derivative financial instruments as of &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; and 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.471%"&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.328%"&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.371%"&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.330%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands) &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Assets&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: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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign currency forward contracts designated as cash flow hedge&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,041&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign currency forward contracts not designated as hedging instruments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Liabilities&lt;/span&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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign currency forward contracts designated as cash flow hedge&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign currency forward contracts not designated as hedging instruments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,045&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,986&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company presents its derivative assets and derivative liabilities at gross fair values in the consolidated balance sheets. However, under the master netting agreements with the respective counterparties of the foreign exchange contracts, subject to applicable requirements, the Company is allowed to net settle transactions of the same currency with a single net amount payable by one party to the other. The potential offset to both assets and liabilities under the right of set-off associated with the Company's foreign currency exchange contracts are immaterial as of December&#160;31, 2023 and 2022. The derivatives held by the Company are not subject to any credit contingent features negotiated with its counterparties. The Company is not required to pledge nor is entitled to receive cash collateral related to the above contracts. The counterparties to these derivatives are large, global financial institutions that the Company believes are creditworthy, and therefore, it does not consider the risk of counterparty nonperformance to be material. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following summarizes the gains (losses) recognized from forward contracts and other foreign currency transactions in other income (expense), net in the consolidated statements of operations:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands) &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net (losses) gains from non-designated forward contracts&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(198)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,093&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other foreign currency transactions losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(499)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(6,864)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,749)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total foreign exchange losses, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(697)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,771)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(297)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock contextRef="c-1" id="f-428">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth by level within the fair value hierarchy the fair value of the Company's financial assets and liabilities measured at fair value on a recurring basis:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;208,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;208,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;56,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;56,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign currency forward contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;333,272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;333,359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign currency forward contracts&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,986&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,986&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,986&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,986&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;82,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;82,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;156,662&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;156,662&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign government&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;63,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;63,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;15,027&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;15,027&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign currency forward contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;82,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;238,098&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;320,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign currency forward contracts&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock>
    <us-gaap:MoneyMarketFundsAtCarryingValue contextRef="c-49" decimals="-3" id="f-429" unitRef="usd">87000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:MoneyMarketFundsAtCarryingValue contextRef="c-50" decimals="-3" id="f-430" unitRef="usd">0</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:MoneyMarketFundsAtCarryingValue contextRef="c-51" decimals="-3" id="f-431" unitRef="usd">87000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:CommercialPaperAtCarryingValue contextRef="c-49" decimals="-3" id="f-432" unitRef="usd">0</us-gaap:CommercialPaperAtCarryingValue>
    <us-gaap:CommercialPaperAtCarryingValue contextRef="c-50" decimals="-3" id="f-433" unitRef="usd">54279000</us-gaap:CommercialPaperAtCarryingValue>
    <us-gaap:CommercialPaperAtCarryingValue contextRef="c-51" decimals="-3" id="f-434" unitRef="usd">54279000</us-gaap:CommercialPaperAtCarryingValue>
    <us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue contextRef="c-49" decimals="-3" id="f-435" unitRef="usd">0</us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue>
    <us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue contextRef="c-50" decimals="-3" id="f-436" unitRef="usd">208536000</us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue>
    <us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue contextRef="c-51" decimals="-3" id="f-437" unitRef="usd">208536000</us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue>
    <us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue contextRef="c-49" decimals="-3" id="f-438" unitRef="usd">0</us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue>
    <us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue contextRef="c-50" decimals="-3" id="f-439" unitRef="usd">56465000</us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue>
    <us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue contextRef="c-51" decimals="-3" id="f-440" unitRef="usd">56465000</us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue>
    <us-gaap:AssetBackedSecuritiesAtCarryingValue contextRef="c-49" decimals="-3" id="f-441" unitRef="usd">0</us-gaap:AssetBackedSecuritiesAtCarryingValue>
    <us-gaap:AssetBackedSecuritiesAtCarryingValue contextRef="c-50" decimals="-3" id="f-442" unitRef="usd">13881000</us-gaap:AssetBackedSecuritiesAtCarryingValue>
    <us-gaap:AssetBackedSecuritiesAtCarryingValue contextRef="c-51" decimals="-3" id="f-443" unitRef="usd">13881000</us-gaap:AssetBackedSecuritiesAtCarryingValue>
    <us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue contextRef="c-49" decimals="-3" id="f-444" unitRef="usd">0</us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue>
    <us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue contextRef="c-50" decimals="-3" id="f-445" unitRef="usd">111000</us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue>
    <us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue contextRef="c-51" decimals="-3" id="f-446" unitRef="usd">111000</us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue>
    <us-gaap:FinancialInstrumentsOwnedAtFairValue contextRef="c-49" decimals="-3" id="f-447" unitRef="usd">87000</us-gaap:FinancialInstrumentsOwnedAtFairValue>
    <us-gaap:FinancialInstrumentsOwnedAtFairValue contextRef="c-50" decimals="-3" id="f-448" unitRef="usd">333272000</us-gaap:FinancialInstrumentsOwnedAtFairValue>
    <us-gaap:FinancialInstrumentsOwnedAtFairValue contextRef="c-51" decimals="-3" id="f-449" unitRef="usd">333359000</us-gaap:FinancialInstrumentsOwnedAtFairValue>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="c-49" decimals="-3" id="f-450" unitRef="usd">0</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="c-50" decimals="-3" id="f-451" unitRef="usd">1986000</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="c-51" decimals="-3" id="f-452" unitRef="usd">1986000</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:FinancialLiabilitiesFairValueDisclosure contextRef="c-49" decimals="-3" id="f-453" unitRef="usd">0</us-gaap:FinancialLiabilitiesFairValueDisclosure>
    <us-gaap:FinancialLiabilitiesFairValueDisclosure contextRef="c-50" decimals="-3" id="f-454" unitRef="usd">1986000</us-gaap:FinancialLiabilitiesFairValueDisclosure>
    <us-gaap:FinancialLiabilitiesFairValueDisclosure contextRef="c-51" decimals="-3" id="f-455" unitRef="usd">1986000</us-gaap:FinancialLiabilitiesFairValueDisclosure>
    <us-gaap:MoneyMarketFundsAtCarryingValue contextRef="c-52" decimals="-3" id="f-456" unitRef="usd">82701000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:MoneyMarketFundsAtCarryingValue contextRef="c-53" decimals="-3" id="f-457" unitRef="usd">0</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:MoneyMarketFundsAtCarryingValue contextRef="c-54" decimals="-3" id="f-458" unitRef="usd">82701000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue contextRef="c-52" decimals="-3" id="f-459" unitRef="usd">0</us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue>
    <us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue contextRef="c-53" decimals="-3" id="f-460" unitRef="usd">156662000</us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue>
    <us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue contextRef="c-54" decimals="-3" id="f-461" unitRef="usd">156662000</us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue>
    <us-gaap:FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue contextRef="c-52" decimals="-3" id="f-462" unitRef="usd">0</us-gaap:FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue>
    <us-gaap:FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue contextRef="c-53" decimals="-3" id="f-463" unitRef="usd">1006000</us-gaap:FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue>
    <us-gaap:FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue contextRef="c-54" decimals="-3" id="f-464" unitRef="usd">1006000</us-gaap:FinancialInstrumentsOwnedOtherSovereignGovernmentObligationsAtFairValue>
    <us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue contextRef="c-52" decimals="-3" id="f-465" unitRef="usd">0</us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue>
    <us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue contextRef="c-53" decimals="-3" id="f-466" unitRef="usd">63910000</us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue>
    <us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue contextRef="c-54" decimals="-3" id="f-467" unitRef="usd">63910000</us-gaap:FinancialInstrumentsOwnedCorporateDebtAtFairValue>
    <us-gaap:AssetBackedSecuritiesAtCarryingValue contextRef="c-52" decimals="-3" id="f-468" unitRef="usd">0</us-gaap:AssetBackedSecuritiesAtCarryingValue>
    <us-gaap:AssetBackedSecuritiesAtCarryingValue contextRef="c-53" decimals="-3" id="f-469" unitRef="usd">15027000</us-gaap:AssetBackedSecuritiesAtCarryingValue>
    <us-gaap:AssetBackedSecuritiesAtCarryingValue contextRef="c-54" decimals="-3" id="f-470" unitRef="usd">15027000</us-gaap:AssetBackedSecuritiesAtCarryingValue>
    <us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue contextRef="c-52" decimals="-3" id="f-471" unitRef="usd">0</us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue>
    <us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue contextRef="c-53" decimals="-3" id="f-472" unitRef="usd">1493000</us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue>
    <us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue contextRef="c-54" decimals="-3" id="f-473" unitRef="usd">1493000</us-gaap:FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue>
    <us-gaap:FinancialInstrumentsOwnedAtFairValue contextRef="c-52" decimals="-3" id="f-474" unitRef="usd">82701000</us-gaap:FinancialInstrumentsOwnedAtFairValue>
    <us-gaap:FinancialInstrumentsOwnedAtFairValue contextRef="c-53" decimals="-3" id="f-475" unitRef="usd">238098000</us-gaap:FinancialInstrumentsOwnedAtFairValue>
    <us-gaap:FinancialInstrumentsOwnedAtFairValue contextRef="c-54" decimals="-3" id="f-476" unitRef="usd">320799000</us-gaap:FinancialInstrumentsOwnedAtFairValue>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="c-52" decimals="-3" id="f-477" unitRef="usd">0</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="c-53" decimals="-3" id="f-478" unitRef="usd">4679000</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="c-54" decimals="-3" id="f-479" unitRef="usd">4679000</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:FinancialLiabilitiesFairValueDisclosure contextRef="c-52" decimals="-3" id="f-480" unitRef="usd">0</us-gaap:FinancialLiabilitiesFairValueDisclosure>
    <us-gaap:FinancialLiabilitiesFairValueDisclosure contextRef="c-53" decimals="-3" id="f-481" unitRef="usd">4679000</us-gaap:FinancialLiabilitiesFairValueDisclosure>
    <us-gaap:FinancialLiabilitiesFairValueDisclosure contextRef="c-54" decimals="-3" id="f-482" unitRef="usd">4679000</us-gaap:FinancialLiabilitiesFairValueDisclosure>
    <qlys:CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock contextRef="c-1" id="f-483">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's cash equivalents and marketable securities consist of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:47.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Unrealized Gains&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Unrealized Losses&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash equivalents: (1)&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: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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&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="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,620&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,707&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Short-term marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;23,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(149)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;22,865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&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="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;144,901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;52&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(204)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;144,749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&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="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;222,168&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;85&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(360)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;221,893&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;33,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;285&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(22)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;33,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,116&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,163&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;56,238&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(30)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;56,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;333,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(390)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;333,248&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:40.5pt;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt"&gt;Excludes cash of $149.0 million. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:47.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Unrealized Gains&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Unrealized Losses&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash equivalents: (1)&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: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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;82,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;82,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;29,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;29,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;112,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;112,492&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Short-term marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #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:1pt solid #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:1pt solid #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:1pt solid #000;padding:0 1pt"&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="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;36,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(337)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;36,574&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;726&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;110,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(921)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;109,304&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign government&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;148,867&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,262)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;147,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #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:1pt solid #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:1pt solid #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:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;28,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(810)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;27,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(132)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,303&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;18,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(509)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;17,567&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;60,657&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,451)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;59,206&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;322,012&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,713)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;319,306&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;Excludes cash of $61.2 million.</qlys:CashAndCashEquivalentsAndDebtSecuritiesAvailableforsaleAmortizedCostToFairValueTableTextBlock>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-55" decimals="-3" id="f-484" unitRef="usd">87000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-55" decimals="-3" id="f-485" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-55" decimals="-3" id="f-486" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-55" decimals="-3" id="f-487" unitRef="usd">87000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-56" decimals="-3" id="f-488" unitRef="usd">54620000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-56" decimals="-3" id="f-489" unitRef="usd">4000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-56" decimals="-3" id="f-490" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-56" decimals="-3" id="f-491" unitRef="usd">54624000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-57" decimals="-3" id="f-492" unitRef="usd">54707000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-57" decimals="-3" id="f-493" unitRef="usd">4000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-57" decimals="-3" id="f-494" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-57" decimals="-3" id="f-495" unitRef="usd">54711000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-58" decimals="-3" id="f-496" unitRef="usd">54254000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-58" decimals="-3" id="f-497" unitRef="usd">32000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-58" decimals="-3" id="f-498" unitRef="usd">7000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-58" decimals="-3" id="f-499" unitRef="usd">54279000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-59" decimals="-3" id="f-500" unitRef="usd">23013000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-59" decimals="-3" id="f-501" unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-59" decimals="-3" id="f-502" unitRef="usd">149000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-59" decimals="-3" id="f-503" unitRef="usd">22865000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-60" decimals="-3" id="f-504" unitRef="usd">144901000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-60" decimals="-3" id="f-505" unitRef="usd">52000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-60" decimals="-3" id="f-506" unitRef="usd">204000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-60" decimals="-3" id="f-507" unitRef="usd">144749000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-61" decimals="-3" id="f-508" unitRef="usd">222168000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-61" decimals="-3" id="f-509" unitRef="usd">85000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-61" decimals="-3" id="f-510" unitRef="usd">360000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-61" decimals="-3" id="f-511" unitRef="usd">221893000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-62" decimals="-3" id="f-512" unitRef="usd">33337000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-62" decimals="-3" id="f-513" unitRef="usd">285000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-62" decimals="-3" id="f-514" unitRef="usd">22000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-62" decimals="-3" id="f-515" unitRef="usd">33600000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-63" decimals="-3" id="f-516" unitRef="usd">13785000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-63" decimals="-3" id="f-517" unitRef="usd">102000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-63" decimals="-3" id="f-518" unitRef="usd">6000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-63" decimals="-3" id="f-519" unitRef="usd">13881000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-64" decimals="-3" id="f-520" unitRef="usd">9116000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-64" decimals="-3" id="f-521" unitRef="usd">49000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-64" decimals="-3" id="f-522" unitRef="usd">2000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-64" decimals="-3" id="f-523" unitRef="usd">9163000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-65" decimals="-3" id="f-524" unitRef="usd">56238000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-65" decimals="-3" id="f-525" unitRef="usd">436000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-65" decimals="-3" id="f-526" unitRef="usd">30000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-65" decimals="-3" id="f-527" unitRef="usd">56644000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-4" decimals="-3" id="f-528" unitRef="usd">333113000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-4" decimals="-3" id="f-529" unitRef="usd">525000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-4" decimals="-3" id="f-530" unitRef="usd">390000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-4" decimals="-3" id="f-531" unitRef="usd">333248000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:Cash contextRef="c-4" decimals="-5" id="f-532" unitRef="usd">149000000</us-gaap:Cash>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-66" decimals="-3" id="f-533" unitRef="usd">82701000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-66" decimals="-3" id="f-534" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-66" decimals="-3" id="f-535" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-66" decimals="-3" id="f-536" unitRef="usd">82701000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-67" decimals="-3" id="f-537" unitRef="usd">29787000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-67" decimals="-3" id="f-538" unitRef="usd">4000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-67" decimals="-3" id="f-539" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-67" decimals="-3" id="f-540" unitRef="usd">29791000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-68" decimals="-3" id="f-541" unitRef="usd">112488000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-68" decimals="-3" id="f-542" unitRef="usd">4000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-68" decimals="-3" id="f-543" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-68" decimals="-3" id="f-544" unitRef="usd">112492000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-69" decimals="-3" id="f-545" unitRef="usd">36908000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-69" decimals="-3" id="f-546" unitRef="usd">3000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-69" decimals="-3" id="f-547" unitRef="usd">337000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-69" decimals="-3" id="f-548" unitRef="usd">36574000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-70" decimals="-3" id="f-549" unitRef="usd">726000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-70" decimals="-3" id="f-550" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-70" decimals="-3" id="f-551" unitRef="usd">2000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-70" decimals="-3" id="f-552" unitRef="usd">724000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-71" decimals="-3" id="f-553" unitRef="usd">110225000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-71" decimals="-3" id="f-554" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-71" decimals="-3" id="f-555" unitRef="usd">921000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-71" decimals="-3" id="f-556" unitRef="usd">109304000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-72" decimals="-3" id="f-557" unitRef="usd">1008000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-72" decimals="-3" id="f-558" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-72" decimals="-3" id="f-559" unitRef="usd">2000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-72" decimals="-3" id="f-560" unitRef="usd">1006000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-73" decimals="-3" id="f-561" unitRef="usd">148867000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-73" decimals="-3" id="f-562" unitRef="usd">3000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-73" decimals="-3" id="f-563" unitRef="usd">1262000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-73" decimals="-3" id="f-564" unitRef="usd">147608000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-74" decimals="-3" id="f-565" unitRef="usd">28146000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-74" decimals="-3" id="f-566" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-74" decimals="-3" id="f-567" unitRef="usd">810000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-74" decimals="-3" id="f-568" unitRef="usd">27336000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-75" decimals="-3" id="f-569" unitRef="usd">14435000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-75" decimals="-3" id="f-570" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-75" decimals="-3" id="f-571" unitRef="usd">132000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-75" decimals="-3" id="f-572" unitRef="usd">14303000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-76" decimals="-3" id="f-573" unitRef="usd">18076000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-76" decimals="-3" id="f-574" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-76" decimals="-3" id="f-575" unitRef="usd">509000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-76" decimals="-3" id="f-576" unitRef="usd">17567000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-77" decimals="-3" id="f-577" unitRef="usd">60657000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-77" decimals="-3" id="f-578" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-77" decimals="-3" id="f-579" unitRef="usd">1451000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-77" decimals="-3" id="f-580" unitRef="usd">59206000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-5" decimals="-3" id="f-581" unitRef="usd">322012000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-5" decimals="-3" id="f-582" unitRef="usd">7000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-5" decimals="-3" id="f-583" unitRef="usd">2713000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-5" decimals="-3" id="f-584" unitRef="usd">319306000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:Cash contextRef="c-5" decimals="-5" id="f-585" unitRef="usd">61200000</us-gaap:Cash>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock contextRef="c-1" id="f-586">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the gross unrealized losses and fair value of the Company's marketable securities that were in an unrealized loss position aggregated by length of time: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:22.328%"&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.185%"&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.371%"&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.185%"&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.371%"&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.185%"&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.371%"&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.185%"&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.371%"&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.185%"&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.371%"&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.192%"&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="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2023&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="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Less than 12 months&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;12 months or longer&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Total&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair value&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Gross unrealized losses&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair value&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Gross unrealized losses&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair value&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Gross unrealized losses&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="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;24,838&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;24,838&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,485&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,485&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;20,717&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(171)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;20,717&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(171)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;43,373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(18)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;18,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(188)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;61,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(206)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;68,211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(25)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(365)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;108,585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(390)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:21.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.334%"&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="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2022&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="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Less than 12 months&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;12 months or longer&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Total&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair value&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Gross unrealized losses&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair value&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Gross unrealized losses&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair value&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Gross unrealized losses&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="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign government agencies&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;998&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;998&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(124)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(10)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;15,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(134)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;33,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(389)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;26,326&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(758)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;60,126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,147)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government agencies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;89,802&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,175)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;36,833&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(255)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;126,635&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,430)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;137,965&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,690)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;64,811&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,023)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;202,776&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,713)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months contextRef="c-78" decimals="-3" id="f-587" unitRef="usd">24838000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="c-78" decimals="-3" id="f-588" unitRef="usd">7000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger contextRef="c-78" decimals="-3" id="f-589" unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="c-78" decimals="-3" id="f-590" unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition contextRef="c-78" decimals="-3" id="f-591" unitRef="usd">24838000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss contextRef="c-78" decimals="-3" id="f-592" unitRef="usd">7000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months contextRef="c-79" decimals="-3" id="f-593" unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="c-79" decimals="-3" id="f-594" unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger contextRef="c-79" decimals="-3" id="f-595" unitRef="usd">1485000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="c-79" decimals="-3" id="f-596" unitRef="usd">6000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition contextRef="c-79" decimals="-3" id="f-597" unitRef="usd">1485000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss contextRef="c-79" decimals="-3" id="f-598" unitRef="usd">6000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months contextRef="c-80" decimals="-3" id="f-599" unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="c-80" decimals="-3" id="f-600" unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger contextRef="c-80" decimals="-3" id="f-601" unitRef="usd">20717000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="c-80" decimals="-3" id="f-602" unitRef="usd">171000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition contextRef="c-80" decimals="-3" id="f-603" unitRef="usd">20717000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss contextRef="c-80" decimals="-3" id="f-604" unitRef="usd">171000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months contextRef="c-81" decimals="-3" id="f-605" unitRef="usd">43373000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="c-81" decimals="-3" id="f-606" unitRef="usd">18000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger contextRef="c-81" decimals="-3" id="f-607" unitRef="usd">18172000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="c-81" decimals="-3" id="f-608" unitRef="usd">188000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition contextRef="c-81" decimals="-3" id="f-609" unitRef="usd">61545000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss contextRef="c-81" decimals="-3" id="f-610" unitRef="usd">206000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months contextRef="c-4" decimals="-3" id="f-611" unitRef="usd">68211000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="c-4" decimals="-3" id="f-612" unitRef="usd">25000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger contextRef="c-4" decimals="-3" id="f-613" unitRef="usd">40374000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="c-4" decimals="-3" id="f-614" unitRef="usd">365000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition contextRef="c-4" decimals="-3" id="f-615" unitRef="usd">108585000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss contextRef="c-4" decimals="-3" id="f-616" unitRef="usd">390000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months contextRef="c-82" decimals="-3" id="f-617" unitRef="usd">998000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="c-82" decimals="-3" id="f-618" unitRef="usd">2000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger contextRef="c-82" decimals="-3" id="f-619" unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="c-82" decimals="-3" id="f-620" unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition contextRef="c-82" decimals="-3" id="f-621" unitRef="usd">998000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss contextRef="c-82" decimals="-3" id="f-622" unitRef="usd">2000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months contextRef="c-83" decimals="-3" id="f-623" unitRef="usd">13365000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="c-83" decimals="-3" id="f-624" unitRef="usd">124000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger contextRef="c-83" decimals="-3" id="f-625" unitRef="usd">1652000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="c-83" decimals="-3" id="f-626" unitRef="usd">10000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition contextRef="c-83" decimals="-3" id="f-627" unitRef="usd">15017000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss contextRef="c-83" decimals="-3" id="f-628" unitRef="usd">134000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months contextRef="c-84" decimals="-3" id="f-629" unitRef="usd">33800000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="c-84" decimals="-3" id="f-630" unitRef="usd">389000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger contextRef="c-84" decimals="-3" id="f-631" unitRef="usd">26326000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="c-84" decimals="-3" id="f-632" unitRef="usd">758000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition contextRef="c-84" decimals="-3" id="f-633" unitRef="usd">60126000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss contextRef="c-84" decimals="-3" id="f-634" unitRef="usd">1147000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months contextRef="c-85" decimals="-3" id="f-635" unitRef="usd">89802000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="c-85" decimals="-3" id="f-636" unitRef="usd">1175000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger contextRef="c-85" decimals="-3" id="f-637" unitRef="usd">36833000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="c-85" decimals="-3" id="f-638" unitRef="usd">255000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition contextRef="c-85" decimals="-3" id="f-639" unitRef="usd">126635000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss contextRef="c-85" decimals="-3" id="f-640" unitRef="usd">1430000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months contextRef="c-5" decimals="-3" id="f-641" unitRef="usd">137965000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="c-5" decimals="-3" id="f-642" unitRef="usd">1690000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger contextRef="c-5" decimals="-3" id="f-643" unitRef="usd">64811000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="c-5" decimals="-3" id="f-644" unitRef="usd">1023000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition contextRef="c-5" decimals="-3" id="f-645" unitRef="usd">202776000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss contextRef="c-5" decimals="-3" id="f-646" unitRef="usd">2713000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock contextRef="c-1" id="f-647">&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following summarizes the fair value of marketable securities by contractual maturity:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.471%"&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.328%"&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.371%"&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.330%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Due within One Year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;276,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;276,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Due after One Year through Two Years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;27,814&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;27,982&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Mature over Two Years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,639&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,781&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;333,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;333,248&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost contextRef="c-4" decimals="-3" id="f-648" unitRef="usd">276875000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="c-4" decimals="-3" id="f-649" unitRef="usd">276604000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost contextRef="c-4" decimals="-3" id="f-650" unitRef="usd">27814000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue contextRef="c-4" decimals="-3" id="f-651" unitRef="usd">27982000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost contextRef="c-4" decimals="-3" id="f-652" unitRef="usd">14639000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue contextRef="c-4" decimals="-3" id="f-653" unitRef="usd">14781000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost contextRef="c-4" decimals="-3" id="f-654" unitRef="usd">13785000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue contextRef="c-4" decimals="-3" id="f-655" unitRef="usd">13881000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-4" decimals="-3" id="f-656" unitRef="usd">333113000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-4" decimals="-3" id="f-657" unitRef="usd">333248000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:DerivativeNotionalAmount contextRef="c-86" decimals="-5" id="f-658" unitRef="eur">48500000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount contextRef="c-86" decimals="-5" id="f-659" unitRef="gbp">14600000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount contextRef="c-86" decimals="-5" id="f-660" unitRef="inr">4042000000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount contextRef="c-87" decimals="-5" id="f-661" unitRef="eur">37400000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount contextRef="c-87" decimals="-5" id="f-662" unitRef="gbp">10400000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount contextRef="c-87" decimals="-5" id="f-663" unitRef="inr">3411000000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months contextRef="c-88" decimals="-5" id="f-664" unitRef="usd">-1500000</us-gaap:ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months>
    <us-gaap:DerivativeNotionalAmount contextRef="c-89" decimals="-5" id="f-665" unitRef="eur">19200000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount contextRef="c-89" decimals="-5" id="f-666" unitRef="gbp">6000000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount contextRef="c-89" decimals="-5" id="f-667" unitRef="inr">440000000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount contextRef="c-89" decimals="-5" id="f-668" unitRef="cad">1000000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount contextRef="c-90" decimals="-5" id="f-669" unitRef="eur">40200000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount contextRef="c-90" decimals="-5" id="f-670" unitRef="gbp">16200000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount contextRef="c-90" decimals="-5" id="f-671" unitRef="inr">484000000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount contextRef="c-90" decimals="-5" id="f-672" unitRef="cad">3800000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:ScheduleOfDerivativeInstrumentsTextBlock contextRef="c-1" id="f-673">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following summarizes &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;the fair value of &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;derivative financial instruments as of &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; and 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.471%"&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.328%"&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.371%"&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.330%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands) &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Assets&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: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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign currency forward contracts designated as cash flow hedge&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,041&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign currency forward contracts not designated as hedging instruments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Liabilities&lt;/span&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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign currency forward contracts designated as cash flow hedge&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign currency forward contracts not designated as hedging instruments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,045&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,986&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeInstrumentsTextBlock>
    <us-gaap:ForeignCurrencyContractAssetFairValueDisclosure contextRef="c-91" decimals="-3" id="f-674" unitRef="usd">63000</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractAssetFairValueDisclosure contextRef="c-92" decimals="-3" id="f-675" unitRef="usd">1041000</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractAssetFairValueDisclosure contextRef="c-93" decimals="-3" id="f-676" unitRef="usd">48000</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractAssetFairValueDisclosure contextRef="c-94" decimals="-3" id="f-677" unitRef="usd">452000</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractAssetFairValueDisclosure contextRef="c-4" decimals="-3" id="f-678" unitRef="usd">111000</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractAssetFairValueDisclosure contextRef="c-5" decimals="-3" id="f-679" unitRef="usd">1493000</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="c-91" decimals="-3" id="f-680" unitRef="usd">1502000</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="c-92" decimals="-3" id="f-681" unitRef="usd">2634000</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="c-93" decimals="-3" id="f-682" unitRef="usd">484000</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="c-94" decimals="-3" id="f-683" unitRef="usd">2045000</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="c-4" decimals="-3" id="f-684" unitRef="usd">1986000</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="c-5" decimals="-3" id="f-685" unitRef="usd">4679000</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock contextRef="c-1" id="f-686">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following summarizes the gains (losses) recognized from forward contracts and other foreign currency transactions in other income (expense), net in the consolidated statements of operations:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands) &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net (losses) gains from non-designated forward contracts&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(198)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,093&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other foreign currency transactions losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(499)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(6,864)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,749)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total foreign exchange losses, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(697)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,771)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(297)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
    <us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments contextRef="c-1" decimals="-3" id="f-687" unitRef="usd">-198000</us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments>
    <us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments contextRef="c-6" decimals="-3" id="f-688" unitRef="usd">5093000</us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments>
    <us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments contextRef="c-7" decimals="-3" id="f-689" unitRef="usd">2452000</us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-1" decimals="-3" id="f-690" unitRef="usd">-499000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-6" decimals="-3" id="f-691" unitRef="usd">-6864000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-7" decimals="-3" id="f-692" unitRef="usd">-2749000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="c-1" decimals="-3" id="f-693" unitRef="usd">-697000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="c-6" decimals="-3" id="f-694" unitRef="usd">-1771000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="c-7" decimals="-3" id="f-695" unitRef="usd">-297000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ComprehensiveIncomeNoteTextBlock contextRef="c-1" id="f-696">Accumulated Other Comprehensive Income (Loss)&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components and changes in accumulated other comprehensive income (loss) were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Available-for-sale debt securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Cash flow hedges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Total&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="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Balances at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,224&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,708)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(484)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Change in unrealized gains (losses) during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,854)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amount reclassified into income during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;955&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Tax effect&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;423&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(870)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(447)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net change during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,409)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,491&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Balances at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(185)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,007&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Change in unrealized gains (losses) during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,462)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,881)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amount reclassified into income during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,147)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,147)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Tax effect&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(58)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;74&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net change during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,520)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(434)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,954)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Balances at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,705)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;758&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,947)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Change in unrealized gains (losses) during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,858&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,362)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amount reclassified into income during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(16)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,957)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,973)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Tax effect&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(29)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;720&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net change during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,813&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,570)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Balances at December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,812)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,704)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The effects on income before income taxes of amounts reclassified from AOCI to the consolidated statements of operations were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Reclassification of AOCI - Available-for-sale debt securities&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: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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other income (expense), net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(22)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:#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;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Reclassification of AOCI - Cash flow hedges&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,077&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,667)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cost of revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(258)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(169)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(712)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(478)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;492&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(44)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(30)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(106)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(73)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,957&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(933)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ComprehensiveIncomeNoteTextBlock>
    <us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock contextRef="c-1" id="f-697">&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components and changes in accumulated other comprehensive income (loss) were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Available-for-sale debt securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Cash flow hedges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Total&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="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Balances at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,224&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,708)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(484)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Change in unrealized gains (losses) during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,854)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amount reclassified into income during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;955&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Tax effect&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;423&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(870)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(447)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net change during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,409)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,491&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Balances at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(185)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,007&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Change in unrealized gains (losses) during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,462)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,881)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amount reclassified into income during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,147)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,147)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Tax effect&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(58)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;74&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net change during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,520)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(434)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,954)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Balances at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,705)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;758&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,947)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Change in unrealized gains (losses) during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,858&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,362)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amount reclassified into income during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(16)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,957)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,973)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Tax effect&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(29)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;720&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net change during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,813&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,570)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Balances at December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,812)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,704)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:StockholdersEquity contextRef="c-95" decimals="-3" id="f-698" unitRef="usd">1224000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-96" decimals="-3" id="f-699" unitRef="usd">-1708000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-12" decimals="-3" id="f-700" unitRef="usd">-484000</us-gaap:StockholdersEquity>
    <us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent contextRef="c-97" decimals="-3" id="f-701" unitRef="usd">-1854000</us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent>
    <us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent contextRef="c-98" decimals="-3" id="f-702" unitRef="usd">2837000</us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent>
    <us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent contextRef="c-7" decimals="-3" id="f-703" unitRef="usd">983000</us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent>
    <us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent contextRef="c-97" decimals="-3" id="f-704" unitRef="usd">-22000</us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent>
    <us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent contextRef="c-98" decimals="-3" id="f-705" unitRef="usd">-933000</us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent>
    <us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent contextRef="c-7" decimals="-3" id="f-706" unitRef="usd">-955000</us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1 contextRef="c-97" decimals="-3" id="f-707" unitRef="usd">-423000</us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1>
    <us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1 contextRef="c-98" decimals="-3" id="f-708" unitRef="usd">870000</us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1>
    <us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1 contextRef="c-7" decimals="-3" id="f-709" unitRef="usd">447000</us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-97" decimals="-3" id="f-710" unitRef="usd">-1409000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-98" decimals="-3" id="f-711" unitRef="usd">2900000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-7" decimals="-3" id="f-712" unitRef="usd">1491000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:StockholdersEquity contextRef="c-99" decimals="-3" id="f-713" unitRef="usd">-185000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-100" decimals="-3" id="f-714" unitRef="usd">1192000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-20" decimals="-3" id="f-715" unitRef="usd">1007000</us-gaap:StockholdersEquity>
    <us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent contextRef="c-101" decimals="-3" id="f-716" unitRef="usd">-2462000</us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent>
    <us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent contextRef="c-102" decimals="-3" id="f-717" unitRef="usd">581000</us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent>
    <us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent contextRef="c-6" decimals="-3" id="f-718" unitRef="usd">-1881000</us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent>
    <us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent contextRef="c-101" decimals="-3" id="f-719" unitRef="usd">0</us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent>
    <us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent contextRef="c-102" decimals="-3" id="f-720" unitRef="usd">1147000</us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent>
    <us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent contextRef="c-6" decimals="-3" id="f-721" unitRef="usd">1147000</us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1 contextRef="c-101" decimals="-3" id="f-722" unitRef="usd">58000</us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1>
    <us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1 contextRef="c-102" decimals="-3" id="f-723" unitRef="usd">-132000</us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1>
    <us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1 contextRef="c-6" decimals="-3" id="f-724" unitRef="usd">-74000</us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-101" decimals="-3" id="f-725" unitRef="usd">-2520000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-102" decimals="-3" id="f-726" unitRef="usd">-434000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-6" decimals="-3" id="f-727" unitRef="usd">-2954000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:StockholdersEquity contextRef="c-103" decimals="-3" id="f-728" unitRef="usd">-2705000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-104" decimals="-3" id="f-729" unitRef="usd">758000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-28" decimals="-3" id="f-730" unitRef="usd">-1947000</us-gaap:StockholdersEquity>
    <us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent contextRef="c-105" decimals="-3" id="f-731" unitRef="usd">2858000</us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent>
    <us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent contextRef="c-106" decimals="-3" id="f-732" unitRef="usd">-1362000</us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent>
    <us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent contextRef="c-1" decimals="-3" id="f-733" unitRef="usd">1496000</us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent>
    <us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent contextRef="c-105" decimals="-3" id="f-734" unitRef="usd">16000</us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent>
    <us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent contextRef="c-106" decimals="-3" id="f-735" unitRef="usd">1957000</us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent>
    <us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent contextRef="c-1" decimals="-3" id="f-736" unitRef="usd">1973000</us-gaap:ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1 contextRef="c-105" decimals="-3" id="f-737" unitRef="usd">29000</us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1>
    <us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1 contextRef="c-106" decimals="-3" id="f-738" unitRef="usd">-749000</us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1>
    <us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1 contextRef="c-1" decimals="-3" id="f-739" unitRef="usd">-720000</us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-105" decimals="-3" id="f-740" unitRef="usd">2813000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-106" decimals="-3" id="f-741" unitRef="usd">-2570000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-1" decimals="-3" id="f-742" unitRef="usd">243000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:StockholdersEquity contextRef="c-107" decimals="-3" id="f-743" unitRef="usd">108000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-108" decimals="-3" id="f-744" unitRef="usd">-1812000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-36" decimals="-3" id="f-745" unitRef="usd">-1704000</us-gaap:StockholdersEquity>
    <us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock contextRef="c-1" id="f-746">&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The effects on income before income taxes of amounts reclassified from AOCI to the consolidated statements of operations were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Reclassification of AOCI - Available-for-sale debt securities&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: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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other income (expense), net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(22)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:#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;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Reclassification of AOCI - Cash flow hedges&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,077&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,667)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cost of revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(258)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(169)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(712)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(478)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;492&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(44)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(30)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(106)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(73)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,957&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(933)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-109" decimals="-3" id="f-747" unitRef="usd">16000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-110" decimals="-3" id="f-748" unitRef="usd">0</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-111" decimals="-3" id="f-749" unitRef="usd">-22000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-112" decimals="-3" id="f-750" unitRef="usd">3077000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-113" decimals="-3" id="f-751" unitRef="usd">1897000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-114" decimals="-3" id="f-752" unitRef="usd">-1667000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue contextRef="c-112" decimals="-3" id="f-753" unitRef="usd">258000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-113" decimals="-3" id="f-754" unitRef="usd">169000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-114" decimals="-3" id="f-755" unitRef="usd">-149000</us-gaap:CostOfRevenue>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c-112" decimals="-3" id="f-756" unitRef="usd">712000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c-113" decimals="-3" id="f-757" unitRef="usd">478000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c-114" decimals="-3" id="f-758" unitRef="usd">-492000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="c-112" decimals="-3" id="f-759" unitRef="usd">44000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="c-113" decimals="-3" id="f-760" unitRef="usd">30000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="c-114" decimals="-3" id="f-761" unitRef="usd">-28000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-112" decimals="-3" id="f-762" unitRef="usd">106000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-113" decimals="-3" id="f-763" unitRef="usd">73000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-114" decimals="-3" id="f-764" unitRef="usd">-65000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:NetIncomeLoss contextRef="c-112" decimals="-3" id="f-765" unitRef="usd">1957000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-113" decimals="-3" id="f-766" unitRef="usd">1147000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-114" decimals="-3" id="f-767" unitRef="usd">-933000</us-gaap:NetIncomeLoss>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="c-1" id="f-768">Property and Equipment, Net&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net, which includes assets under finance leases, consists of the following: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.471%"&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.328%"&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.371%"&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.330%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Computer equipment&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;179,002&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;173,832&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Computer software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;26,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;25,808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;20,924&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;21,009&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Scanner appliances&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;18,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;15,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Furniture, fixtures and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6,699&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6,524&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;251,127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;242,869&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Less: accumulated depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(218,528)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(195,441)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;32,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;47,428&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; and 2022, physical scanner appliances and other computer equipment that are or will be subject to leases by customers had a net carrying value of $10.1 million and $6.7 million, respectively, including assets that had not been placed in service of $6.4 million and $4.0 million, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depreciation and amortization expenses relating to property and equipment were $23.9 million, $28.2 million and $28.5 million for the years ended&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, 2022 and 2021, respectively, which were mainly recorded in cost of revenues in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="c-1" id="f-769">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net, which includes assets under finance leases, consists of the following: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.471%"&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.328%"&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.371%"&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.330%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Computer equipment&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;179,002&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;173,832&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Computer software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;26,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;25,808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;20,924&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;21,009&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Scanner appliances&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;18,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;15,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Furniture, fixtures and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6,699&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6,524&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;251,127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;242,869&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Less: accumulated depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(218,528)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(195,441)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;32,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;47,428&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-115" decimals="-3" id="f-770" unitRef="usd">179002000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-116" decimals="-3" id="f-771" unitRef="usd">173832000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-117" decimals="-3" id="f-772" unitRef="usd">26133000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-118" decimals="-3" id="f-773" unitRef="usd">25808000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-119" decimals="-3" id="f-774" unitRef="usd">20924000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-120" decimals="-3" id="f-775" unitRef="usd">21009000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-46" decimals="-3" id="f-776" unitRef="usd">18369000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-121" decimals="-3" id="f-777" unitRef="usd">15696000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-122" decimals="-3" id="f-778" unitRef="usd">6699000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-123" decimals="-3" id="f-779" unitRef="usd">6524000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-4" decimals="-3" id="f-780" unitRef="usd">251127000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-5" decimals="-3" id="f-781" unitRef="usd">242869000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c-4" decimals="-3" id="f-782" unitRef="usd">218528000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c-5" decimals="-3" id="f-783" unitRef="usd">195441000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-4" decimals="-3" id="f-784" unitRef="usd">32599000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-5" decimals="-3" id="f-785" unitRef="usd">47428000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-124" decimals="-5" id="f-786" unitRef="usd">10100000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-125" decimals="-5" id="f-787" unitRef="usd">6700000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-126" decimals="-5" id="f-788" unitRef="usd">6400000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-127" decimals="-5" id="f-789" unitRef="usd">4000000</us-gaap:PropertyPlantAndEquipmentNet>
    <qlys:DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization contextRef="c-1" decimals="-5" id="f-790" unitRef="usd">23900000</qlys:DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization>
    <qlys:DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization contextRef="c-6" decimals="-5" id="f-791" unitRef="usd">28200000</qlys:DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization>
    <qlys:DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization contextRef="c-7" decimals="-5" id="f-792" unitRef="usd">28500000</qlys:DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="c-1" id="f-793">Revenue from Contracts with Customers&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company records deferred revenue when cash payments are received or due in advance of its performance obligations offset by revenue recognized in the period. Revenues of &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$292.2 million and $254.9 million were recognized during the years ended &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; and &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;31, 2022&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, respectively, which amounts were included in the deferred revenue balances of $317.2 million and $290.6 million as of &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;31, 2022&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; and &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;31, 2021&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, respectively&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's payment terms vary by the type and location of its customers. The term between invoicing and when payment is due is not significant. In certain circumstances, based on the credit quality of the customer, the Company requires payment before the products or services are delivered to the customer.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the expected revenue from all remaining performance obligations as of December&#160;31, 2023:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:84.614%"&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:13.186%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;200,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;122,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;46,327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;397&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2029 and thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;374,415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenues allocated to remaining performance obligations represents the transaction price of noncancelable orders for which service has not been performed, which include deferred revenue and the amounts that will be invoiced and recognized as revenues in future periods from open contracts and excludes unexercised renewals. The Company applied the short-term contract exemption to exclude the remaining performance obligations that are part of a contract that has an original expected duration of one year or less.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time, the Company enters into contracts with customers that extend beyond one year, with certain of its customers electing to pay for more than one year of services upon contract execution. The Company concluded that these contracts did not contain a financing component.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenues by sales channel are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Direct&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;314,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;285,382&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;243,389&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Partner&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;239,470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;204,341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;167,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;554,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;489,723&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;411,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company utilizes partners to enable and accelerate the adoption of its cloud platform by increasing its distribution capabilities and market awareness of its cloud platform as well as by targeting geographic regions outside the reach of its direct sales force. The Company's channel partners maintain relationships with their customers throughout the territories in which they operate and provide their customers with services and third-party solutions to help meet those customers&#x2019; evolving security and compliance requirements. As such, these partners may offer the Company's IT security and compliance solutions in conjunction with one or more of their own products or services and act as a conduit through which the Company can connect with these prospective customers to offer its solutions. For sales involving a channel partner, the channel partner engages with the prospective customer directly and involves the Company's sales team as needed to assist in developing and closing an order. When a channel partner secures a sale, the Company sells the associated subscription to the channel partner who in turn resells the subscription to the customer. Sales to channel partners are made at a discount and revenues are recorded at this discounted price over the subscription terms. The Company does not have any influence or specific knowledge of its partners' selling terms with their customers. See Note 13, "Segment and Geographic Area Information" for disaggregation of revenue by geographic area.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred costs to obtain contracts are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.471%"&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.328%"&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.371%"&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.330%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Current&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,858&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,018&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Noncurrent&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;11,844&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;10,090&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the years ended&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, 2022 and 2021, the Company recognized $6.0 million, $5.0 million and $4.0 million, respectively, of amortization expense relating to deferred costs to obtain contracts &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;in sales and marketing expense in the consolidated statements of operations.&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; During the same periods, there was no impairment loss related to the deferred costs to obtain contracts.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="c-1" decimals="-5" id="f-794" unitRef="usd">292200000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="c-6" decimals="-5" id="f-795" unitRef="usd">254900000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiability contextRef="c-5" decimals="-5" id="f-796" unitRef="usd">317200000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="c-8" decimals="-5" id="f-797" unitRef="usd">290600000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock contextRef="c-1" id="f-798">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the expected revenue from all remaining performance obligations as of December&#160;31, 2023:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:84.614%"&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:13.186%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;200,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;122,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;46,327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;397&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2029 and thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;374,415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock>
    <us-gaap:RevenueRemainingPerformanceObligation contextRef="c-128" decimals="-3" id="f-799" unitRef="usd">200872000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation contextRef="c-129" decimals="-3" id="f-800" unitRef="usd">122465000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation contextRef="c-130" decimals="-3" id="f-801" unitRef="usd">46327000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation contextRef="c-131" decimals="-3" id="f-802" unitRef="usd">4291000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation contextRef="c-132" decimals="-3" id="f-803" unitRef="usd">397000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation contextRef="c-133" decimals="-3" id="f-804" unitRef="usd">63000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation contextRef="c-4" decimals="-3" id="f-805" unitRef="usd">374415000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="c-1" id="f-806">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenues by sales channel are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Direct&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;314,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;285,382&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;243,389&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Partner&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;239,470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;204,341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;167,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;554,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;489,723&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;411,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-134" decimals="-3" id="f-807" unitRef="usd">314988000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-135" decimals="-3" id="f-808" unitRef="usd">285382000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-136" decimals="-3" id="f-809" unitRef="usd">243389000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-137" decimals="-3" id="f-810" unitRef="usd">239470000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-138" decimals="-3" id="f-811" unitRef="usd">204341000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-139" decimals="-3" id="f-812" unitRef="usd">167783000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-1" decimals="-3" id="f-813" unitRef="usd">554458000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-6" decimals="-3" id="f-814" unitRef="usd">489723000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-7" decimals="-3" id="f-815" unitRef="usd">411172000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CapitalizedContractCostTableTextBlock contextRef="c-1" id="f-816">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred costs to obtain contracts are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.471%"&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.328%"&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.371%"&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.330%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Current&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,858&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,018&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Noncurrent&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;11,844&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;10,090&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:CapitalizedContractCostTableTextBlock>
    <us-gaap:CapitalizedContractCostNetCurrent contextRef="c-4" decimals="-3" id="f-817" unitRef="usd">5858000</us-gaap:CapitalizedContractCostNetCurrent>
    <us-gaap:CapitalizedContractCostNetCurrent contextRef="c-5" decimals="-3" id="f-818" unitRef="usd">5018000</us-gaap:CapitalizedContractCostNetCurrent>
    <us-gaap:CapitalizedContractCostNetNoncurrent contextRef="c-4" decimals="-3" id="f-819" unitRef="usd">11844000</us-gaap:CapitalizedContractCostNetNoncurrent>
    <us-gaap:CapitalizedContractCostNetNoncurrent contextRef="c-5" decimals="-3" id="f-820" unitRef="usd">10090000</us-gaap:CapitalizedContractCostNetNoncurrent>
    <us-gaap:CapitalizedContractCostAmortization contextRef="c-1" decimals="-5" id="f-821" unitRef="usd">6000000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization contextRef="c-6" decimals="-5" id="f-822" unitRef="usd">5000000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization contextRef="c-7" decimals="-5" id="f-823" unitRef="usd">4000000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostImpairmentLoss contextRef="c-6" decimals="-5" id="f-824" unitRef="usd">0</us-gaap:CapitalizedContractCostImpairmentLoss>
    <us-gaap:CapitalizedContractCostImpairmentLoss contextRef="c-7" decimals="-5" id="f-825" unitRef="usd">0</us-gaap:CapitalizedContractCostImpairmentLoss>
    <us-gaap:CapitalizedContractCostImpairmentLoss contextRef="c-1" decimals="-5" id="f-826" unitRef="usd">0</us-gaap:CapitalizedContractCostImpairmentLoss>
    <us-gaap:AssetAcquisitionTextBlock contextRef="c-1" id="f-833">Acquisitions&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On October&#160;4, 2022, the Company acquired certain assets of Blue Hexagon Inc., a privately held company incorporated in Delaware, for $10.0 million in cash, of which $8.5 million was paid on the acquisition date and the remaining $1.5 million will be due eighteen months from the acquisition date, subject to potential adjustment from possible indemnity claims. In addition, the Company assumed $1.4 million deferred revenue. Blue Hexagon's AI/ML-driven network detection enables the Company to leverage its cloud platform with AI/machine learning to uncover behavior patterns including active vulnerability exploitation, identification of advanced network threats, and adaptive risk mitigation across all assets and application. The Company accounted for this transaction as an asset acquisition, as substantially all of the fair value is concentrated in developed technology acquired. The Company incurred $0.6 million transaction costs which is included as the cost of acquiring the intangible assets. The Company recognized intangible assets of $11.5 million for developed technology and $0.4 million for assembled workforce, which will be amortized over five years and two years, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On August&#160;19, 2021, the Company acquired certain developed technology intangible assets of TotalCloud, a privately held company incorporated in India, for a total cash consideration of $1.2 million, of which $1.1 million was paid on the acquisition &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;date and the remaining $0.1 million was deferred and paid in August 2022. TotalCloud's technology strengthens the Company's cloud security solution by allowing customers to build user-defined workflows for custom policies and execute them on-demand for simplified security and compliance. The acquired intangible assets will be amortized over five years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There were no changes in the carrying amount of goodwill for the years ended December&#160;31, 2023 and 2022.&lt;/span&gt;&lt;/div&gt;</us-gaap:AssetAcquisitionTextBlock>
    <us-gaap:AssetAcquisitionConsiderationTransferred contextRef="c-140" decimals="-5" id="f-834" unitRef="usd">10000000</us-gaap:AssetAcquisitionConsiderationTransferred>
    <us-gaap:PaymentsToAcquireProductiveAssets contextRef="c-140" decimals="-5" id="f-835" unitRef="usd">8500000</us-gaap:PaymentsToAcquireProductiveAssets>
    <qlys:AssetAcquisitionConsiderationTransferredPayable contextRef="c-141" decimals="-5" id="f-836" unitRef="usd">1500000</qlys:AssetAcquisitionConsiderationTransferredPayable>
    <qlys:AssetAcquisitionConsiderationPayableTerm contextRef="c-140" id="f-837">P18M</qlys:AssetAcquisitionConsiderationPayableTerm>
    <qlys:AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="c-141" decimals="-5" id="f-838" unitRef="usd">1400000</qlys:AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
    <qlys:AssetAcquisitionAcquisitionRelatedCosts contextRef="c-140" decimals="-5" id="f-839" unitRef="usd">600000</qlys:AssetAcquisitionAcquisitionRelatedCosts>
    <qlys:AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles contextRef="c-142" decimals="-5" id="f-840" unitRef="usd">11500000</qlys:AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles>
    <qlys:AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles contextRef="c-143" decimals="-5" id="f-841" unitRef="usd">400000</qlys:AssetAcquisitionRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFiniteLivedIntangibles>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-142" id="f-842">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-143" id="f-843">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1 contextRef="c-144" decimals="-5" id="f-844" unitRef="usd">1200000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="c-144" decimals="-5" id="f-845" unitRef="usd">1100000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="c-145" decimals="-5" id="f-846" unitRef="usd">100000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-146" id="f-847">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:IntangibleAssetsDisclosureTextBlock contextRef="c-1" id="f-848">Intangible Assets, Net&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets consist primarily of developed technology and patent licenses acquired from business or asset acquisitions. Acquired intangibles are amortized on a straight-line basis over the respective estimated useful lives of the assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying values of intangible assets are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:33.900%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.333%"&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:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average Life &lt;br/&gt;(Years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average &lt;br/&gt;Remaining Life (Years)&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Cost&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Accumulated &lt;br/&gt;Amortization &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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net Book Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Developed technology&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.6&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40,141&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(30,667)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Patent licenses&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14.0&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.7&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,322)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Assembled workforce&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.8&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(223)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total intangibles subject to amortization&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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;41,887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(32,212)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,675&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets not subject to amortization&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: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;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total intangible assets, net&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;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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:33.900%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.333%"&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:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average Life &lt;br/&gt;(Years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average &lt;br/&gt;Remaining Life (Years)&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Cost&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Accumulated &lt;br/&gt;Amortization&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net Book Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Developed technology&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.6&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.4&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40,141&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(27,860)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Patent licenses&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14.0&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.7&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,221)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Assembled workforce&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.7&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(45)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;314&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total intangibles subject to amortization&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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;41,887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(29,126)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets not subject to amortization&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: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;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total intangible assets, net&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;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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,801&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets amortization expenses were $3.1 million, $5.7 million and $6.7 million for the &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;years ended December&#160;31, 2023, 2022 and 2021, respectively, which were recorded in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023, the Company expects amortization expense in future periods to be as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:84.614%"&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:13.186%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,904&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,556&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,477&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total expected future 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,675&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock contextRef="c-1" id="f-850">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying values of intangible assets are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:33.900%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.333%"&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:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average Life &lt;br/&gt;(Years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average &lt;br/&gt;Remaining Life (Years)&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Cost&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Accumulated &lt;br/&gt;Amortization &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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net Book Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Developed technology&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.6&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40,141&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(30,667)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Patent licenses&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14.0&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.7&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,322)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Assembled workforce&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.8&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(223)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total intangibles subject to amortization&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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;41,887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(32,212)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,675&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets not subject to amortization&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: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;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total intangible assets, net&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;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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:33.900%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.333%"&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:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average Life &lt;br/&gt;(Years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average &lt;br/&gt;Remaining Life (Years)&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Cost&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Accumulated &lt;br/&gt;Amortization&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net Book Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Developed technology&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.6&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.4&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40,141&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(27,860)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Patent licenses&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14.0&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.7&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,221)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Assembled workforce&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.7&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(45)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;314&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total intangibles subject to amortization&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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;41,887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(29,126)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets not subject to amortization&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: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;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total intangible assets, net&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;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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,801&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock>
    <us-gaap:ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock contextRef="c-1" id="f-849">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying values of intangible assets are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:33.900%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.333%"&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:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average Life &lt;br/&gt;(Years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average &lt;br/&gt;Remaining Life (Years)&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Cost&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Accumulated &lt;br/&gt;Amortization &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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net Book Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Developed technology&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.6&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40,141&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(30,667)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Patent licenses&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14.0&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.7&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,322)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Assembled workforce&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.8&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(223)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total intangibles subject to amortization&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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;41,887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(32,212)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,675&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets not subject to amortization&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: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;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total intangible assets, net&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;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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:33.900%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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.333%"&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:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average Life &lt;br/&gt;(Years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average &lt;br/&gt;Remaining Life (Years)&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Cost&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Accumulated &lt;br/&gt;Amortization&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net Book Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Developed technology&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.6&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.4&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40,141&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(27,860)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Patent licenses&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14.0&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.7&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,221)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Assembled workforce&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.7&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(45)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;314&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total intangibles subject to amortization&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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;41,887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(29,126)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets not subject to amortization&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: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;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total intangible assets, net&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;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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,801&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-147" id="f-851">P4Y7M6D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1 contextRef="c-147" id="f-852">P1Y1M6D</us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-147" decimals="-3" id="f-853" unitRef="usd">40141000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-147" decimals="-3" id="f-854" unitRef="usd">30667000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-147" decimals="-3" id="f-855" unitRef="usd">9474000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-148" id="f-856">P14Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1 contextRef="c-148" id="f-857">P0Y8M12D</us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-148" decimals="-3" id="f-858" unitRef="usd">1387000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-148" decimals="-3" id="f-859" unitRef="usd">1322000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-148" decimals="-3" id="f-860" unitRef="usd">65000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-149" id="f-861">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1 contextRef="c-149" id="f-862">P0Y9M18D</us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-149" decimals="-3" id="f-863" unitRef="usd">359000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-149" decimals="-3" id="f-864" unitRef="usd">223000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-149" decimals="-3" id="f-865" unitRef="usd">136000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-4" decimals="-3" id="f-866" unitRef="usd">41887000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-4" decimals="-3" id="f-867" unitRef="usd">32212000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-4" decimals="-3" id="f-868" unitRef="usd">9675000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill contextRef="c-4" decimals="-3" id="f-869" unitRef="usd">40000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="c-4" decimals="-3" id="f-870" unitRef="usd">9715000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-150" id="f-871">P4Y7M6D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1 contextRef="c-150" id="f-872">P1Y4M24D</us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-150" decimals="-3" id="f-873" unitRef="usd">40141000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-150" decimals="-3" id="f-874" unitRef="usd">27860000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-150" decimals="-3" id="f-875" unitRef="usd">12281000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-151" id="f-876">P14Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1 contextRef="c-151" id="f-877">P1Y8M12D</us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-151" decimals="-3" id="f-878" unitRef="usd">1387000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-151" decimals="-3" id="f-879" unitRef="usd">1221000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-151" decimals="-3" id="f-880" unitRef="usd">166000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-152" id="f-881">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1 contextRef="c-152" id="f-882">P1Y8M12D</us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-152" decimals="-3" id="f-883" unitRef="usd">359000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-152" decimals="-3" id="f-884" unitRef="usd">45000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-152" decimals="-3" id="f-885" unitRef="usd">314000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-5" decimals="-3" id="f-886" unitRef="usd">41887000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-5" decimals="-3" id="f-887" unitRef="usd">29126000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-5" decimals="-3" id="f-888" unitRef="usd">12761000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill contextRef="c-5" decimals="-3" id="f-889" unitRef="usd">40000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="c-5" decimals="-3" id="f-890" unitRef="usd">12801000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-1" decimals="-5" id="f-891" unitRef="usd">3100000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-6" decimals="-5" id="f-892" unitRef="usd">5700000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-7" decimals="-5" id="f-893" unitRef="usd">6700000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="c-1" id="f-894">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023, the Company expects amortization expense in future periods to be as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:84.614%"&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:13.186%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,904&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,556&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,477&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total expected future 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,675&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="c-4" decimals="-3" id="f-895" unitRef="usd">2904000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="c-4" decimals="-3" id="f-896" unitRef="usd">2556000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="c-4" decimals="-3" id="f-897" unitRef="usd">2477000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="c-4" decimals="-3" id="f-898" unitRef="usd">1738000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-4" decimals="-3" id="f-899" unitRef="usd">9675000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="c-1" id="f-901">Leases&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company leases certain offices, computer equipment and its shared cloud platform facilities under non-cancelable operating leases for varying periods through 2028. While under the Company's lease agreements the Company has options to extend its certain leases, the Company has not included renewal options in determining the lease terms for calculating its lease liabilities, as these options are not reasonably certain of being exercised. Lease expense was $16.1 million, $14.9 million and $16.8 million for the years ended&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, 2022 and 2021, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to operating leases was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash payments included in the measurement of lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;15,751&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,646&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease liabilities arising from obtaining right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;8,669&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted average remaining lease term and the weighted average discount rate of the Company's operating leases were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.471%"&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.328%"&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.371%"&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.330%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Weighted average remaining lease term (years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.1&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.7&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Maturities of the Company's operating lease liabilities as of December&#160;31, 2023 are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:84.614%"&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:13.186%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands) &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,053&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,498&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,353&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,466&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;31,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Less: interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,375)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Present value of net minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;28,742&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Less: lease liabilities, current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(11,857)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease liabilities, noncurrent&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;16,885&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeFinanceLeasesTextBlock contextRef="c-1" id="f-900">Leases&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company leases certain offices, computer equipment and its shared cloud platform facilities under non-cancelable operating leases for varying periods through 2028. While under the Company's lease agreements the Company has options to extend its certain leases, the Company has not included renewal options in determining the lease terms for calculating its lease liabilities, as these options are not reasonably certain of being exercised. Lease expense was $16.1 million, $14.9 million and $16.8 million for the years ended&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, 2022 and 2021, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to operating leases was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash payments included in the measurement of lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;15,751&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,646&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease liabilities arising from obtaining right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;8,669&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted average remaining lease term and the weighted average discount rate of the Company's operating leases were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.471%"&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.328%"&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.371%"&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.330%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Weighted average remaining lease term (years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.1&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.7&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Maturities of the Company's operating lease liabilities as of December&#160;31, 2023 are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:84.614%"&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:13.186%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands) &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,053&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,498&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,353&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,466&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;31,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Less: interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,375)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Present value of net minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;28,742&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Less: lease liabilities, current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(11,857)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease liabilities, noncurrent&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;16,885&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeFinanceLeasesTextBlock>
    <us-gaap:OperatingLeaseExpense contextRef="c-1" decimals="-5" id="f-902" unitRef="usd">16100000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense contextRef="c-6" decimals="-5" id="f-903" unitRef="usd">14900000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense contextRef="c-7" decimals="-5" id="f-904" unitRef="usd">16800000</us-gaap:OperatingLeaseExpense>
    <us-gaap:LeaseCostTableTextBlock contextRef="c-1" id="f-905">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to operating leases was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash payments included in the measurement of lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;15,751&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,646&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease liabilities arising from obtaining right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;8,669&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeasePayments contextRef="c-1" decimals="-3" id="f-906" unitRef="usd">14984000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments contextRef="c-6" decimals="-3" id="f-907" unitRef="usd">15751000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments contextRef="c-7" decimals="-3" id="f-908" unitRef="usd">14646000</us-gaap:OperatingLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="c-1" decimals="-3" id="f-909" unitRef="usd">121000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="c-6" decimals="-3" id="f-910" unitRef="usd">8669000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="c-7" decimals="-3" id="f-911" unitRef="usd">4110000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <qlys:AssetsAndLiabilitiesLesseeTableTextBlock contextRef="c-1" id="f-912">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted average remaining lease term and the weighted average discount rate of the Company's operating leases were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.471%"&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.328%"&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.371%"&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.330%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Weighted average remaining lease term (years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.1&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.7&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</qlys:AssetsAndLiabilitiesLesseeTableTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c-4" id="f-913">P3Y1M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c-5" id="f-914">P3Y8M12D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="c-4" decimals="3" id="f-915" unitRef="number">0.052</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="c-5" decimals="3" id="f-916" unitRef="number">0.052</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="c-1" id="f-917">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Maturities of the Company's operating lease liabilities as of December&#160;31, 2023 are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:84.614%"&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:13.186%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands) &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,053&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,498&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,353&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,466&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;31,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Less: interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,375)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Present value of net minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;28,742&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Less: lease liabilities, current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(11,857)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease liabilities, noncurrent&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;16,885&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths contextRef="c-4" decimals="-3" id="f-918" unitRef="usd">13053000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="c-4" decimals="-3" id="f-919" unitRef="usd">7747000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree contextRef="c-4" decimals="-3" id="f-920" unitRef="usd">4498000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour contextRef="c-4" decimals="-3" id="f-921" unitRef="usd">4353000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive contextRef="c-4" decimals="-3" id="f-922" unitRef="usd">1466000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="c-4" decimals="-3" id="f-923" unitRef="usd">31117000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount contextRef="c-4" decimals="-3" id="f-924" unitRef="usd">2375000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability contextRef="c-4" decimals="-3" id="f-925" unitRef="usd">28742000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c-4" decimals="-3" id="f-926" unitRef="usd">11857000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-4" decimals="-3" id="f-927" unitRef="usd">16885000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="c-1" id="f-928">Commitment and Contingencies&lt;div style="margin-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Purchase Obligation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has entered into agreements to purchase goods and services in the ordinary course of business. As of December&#160;31, 2023, these remaining purchase commitments for future periods are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:84.614%"&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:13.186%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;20,743&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;18,768&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,784&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&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:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total purchase commitments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;61,660&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Indemnifications&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company from time to time enters into certain types of contracts that contingently require it to indemnify various parties against claims from third parties. These contracts primarily relate to (i) the Company's bylaws, under which it must indemnify directors and executive officers, and may indemnify other officers and employees, for liabilities arising out of their relationship, (ii) contracts under which the Company must indemnify directors and certain officers for liabilities arising out of their relationship, and (iii) contracts under which the Company may be required to indemnify customers or resellers from certain liabilities arising from potential infringement of intellectual property rights, as well as potential damages caused by limited product defects. To date, the Company has not incurred and has not recorded any liability in connection with such indemnifications.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company maintains director and officer insurance, which may cover certain liabilities arising from its obligation to indemnify its directors.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Legal Proceedings&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time the Company may become involved in legal proceedings or be subject to claims arising in the ordinary course of the Company's business. The Company records a provision for a liability when it is both probable that a liability has been incurred and the amount can be reasonably estimated. Legal expenses related to such matters are expensed as incurred. The Company provides disclosure if it is reasonably possible that a loss has been incurred and a range of loss or possible loss can be reasonably estimated. Significant judgment is required to determine both probability and the estimated amount. The Company reviews these provisions at least quarterly and adjust these provisions to reflect the impact of negotiations, settlements, rulings, advice of legal counsel, and updated information.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023, there has not been at least a reasonable possibility that the Company has incurred a material loss from any ongoing legal proceedings, individually or taken together. However, litigation is inherently unpredictable and is subject to significant uncertainties, some of which are beyond the Company's control. Should any of these estimates and assumptions change or prove to have been incorrect, the Company could incur significant charges related to legal matters which could have a material impact on its results of operations, financial position and cash flows.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <srt:ContractualObligationFiscalYearMaturityScheduleTableTextBlock contextRef="c-1" id="f-929">As of December&#160;31, 2023, these remaining purchase commitments for future periods are as follows:&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:84.614%"&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:13.186%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;20,743&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;18,768&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,784&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&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:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total purchase commitments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;61,660&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</srt:ContractualObligationFiscalYearMaturityScheduleTableTextBlock>
    <us-gaap:PurchaseObligationDueInNextTwelveMonths contextRef="c-4" decimals="-3" id="f-930" unitRef="usd">20743000</us-gaap:PurchaseObligationDueInNextTwelveMonths>
    <us-gaap:PurchaseObligationDueInSecondYear contextRef="c-4" decimals="-3" id="f-931" unitRef="usd">18768000</us-gaap:PurchaseObligationDueInSecondYear>
    <us-gaap:PurchaseObligationDueInThirdYear contextRef="c-4" decimals="-3" id="f-932" unitRef="usd">12365000</us-gaap:PurchaseObligationDueInThirdYear>
    <us-gaap:PurchaseObligationDueInFourthYear contextRef="c-4" decimals="-3" id="f-933" unitRef="usd">9784000</us-gaap:PurchaseObligationDueInFourthYear>
    <us-gaap:PurchaseObligation contextRef="c-4" decimals="-3" id="f-934" unitRef="usd">61660000</us-gaap:PurchaseObligation>
    <us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock contextRef="c-1" id="f-935">Stockholders' Equity and Stock-based Compensation&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Preferred Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Effective October&#160;3, 2012, the Company is authorized to issue 20.0&#160;million shares of undesignated preferred stock with a par value of $0.001 per share. Each series of preferred stock will have such rights and preferences including dividend rights, dividend rate, conversion rights, voting rights, rights and terms of redemption (including sinking fund provisions), redemption price, and liquidation preferences as determined by the board of directors. As of December&#160;31, 2023, and 2022, there were no issued or outstanding shares of preferred stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Common Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Equity Incentive Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;2012 Equity Incentive Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The 2012 Equity Incentive Plan (&#x201c;Previous 2012 Plan&#x201d;) was adopted and approved in September 2012 and became effective on September 26, 2012. Under the Previous 2012 Plan, the Company is authorized to grant to eligible participant&#x2019;s incentive stock options ("ISOs"), nonstatutory stock options ("NSOs"), stock appreciation rights (&#x201c;SARs&#x201d;), restricted stock awards, restricted stock units ("RSUs"), performance units and performance shares. The number of shares of common stock available for issuance under the Previous 2012 Plan is subject to an annual increase on January 1 of each year by an amount equal to the least of 3,050&#160;thousand shares, 5% of the outstanding shares of stock as of the last day of the immediately preceding fiscal year or an amount determined by the board of directors. For the year ended&#x202f;December&#160;31, 2023, no shares were added to the Previous 2012 Plan. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On June&#160;8, 2022 ("Effective Date"), the Company's stockholders approved the Amended and Restated 2012 Equity Incentive Plan (the "Restated 2012 Plan"). Under the Restated 2012 Plan, the Company is authorized to grant to eligible participants ISOs, NSOs, restricted stock, RSUs, SARs, performance units and performance shares. Pursuant to the relevant plan provisions, 3,072&#160;thousand shares were available for grant under the Restated 2012 Plan on the Effective Date. In addition, any outstanding awards or options granted under the Previous 2012 Equity Incentive Plan will be added back to the shares available for grant under the Restated 2012 Plan if they expire unexercised or are otherwise forfeited after the Effective Date. Any remaining shares of 9,689&#160;thousand available for grant under the Previous 2012 Plan as of the Effective Date were no longer available for future grants under the Restated 2012 Plan. As of December&#160;31, 2023, 1,824&#160;thousand shares are available for future grants. Options may be granted with an exercise price that is at least equal to the fair market value of the Company's stock at the date of grant and are exercisable when vested. Options and RSU's granted generally vest over a period of up to four years. ISOs may only be granted to employees and any subsidiary corporations' employees. All other awards may be granted to employees, directors and consultants and subsidiary corporations' employees and consultants. Options, SARs, RSUs, performance units and performance awards may be granted with vesting terms as determined by the board of directors and expire no more than ten years after the date of grant or earlier if employment or service is terminated.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;2021 Employee Stock Purchase Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On June&#160;9, 2021, the Company&#x2019;s stockholders approved the 2021 ESPP. A total of 600&#160;thousand shares were authorized for issuance to eligible participating employees upon adoption of the ESPP. The ESPP provides for consecutive 6-month offering periods beginning on or about August 16 and February 16 of each year. Eligible employees who elect to participate can contribute from 1% to 15% of their eligible compensation through payroll withholding. During any offering period, contribution rates cannot be changed. However, eligible employees may withdraw from the current offering period. Any contributions made prior to each purchase date in the case of withdrawal or termination of employment will be refunded. On each purchase date, eligible participating employees will purchase the shares at a price per share equal to 85% of the lesser of (i) the fair market value of the Company's stock on the first trading day of the offering period or (ii) the fair market value of the Company's stock on the purchase date (i.e., the last trading day of the offering period). &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the year ended December&#160;31, 2023, 60&#160;thousand shares &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;were issued in connection with the purchase of common stock by participating employees. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023, 494&#160;thousand shares were available for future purchase. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table shows a summary of the stock-based compensation expenses included in the consolidated statements of operations for the years ended December&#160;31, 2023, 2022 and 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cost of revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,782&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;21,091&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;10,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6,323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;28,454&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;23,681&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;46,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total stock-based compensation, net of amounts capitalized (1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;69,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;53,408&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;67,579&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:31.5pt;text-align:justify;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt"&gt;Total stock-based compensation expense capitalized was de minimis during the year ended December&#160;31, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The income tax benefit related to the stock-based compensation expenses was &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$11.0 million, $8.3 million and &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$6.2 million for the years ended December&#160;31, 2023, 2022 and 2021, respectively. The tax benefit realized from stock-based compensation vested or exercised was &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$5.9 million&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$7.0 million&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, and &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$4.9 million&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; for the years ended December&#160;31, 2023, 2022 and 2021, respectively. &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, the Company had unrecognized stock-based compensation expenses of $23.3 million, $94.3 million, $1.4 million, and $0.3 million related to options, RSUs, performance-based RSUs, and ESPP, respectively, which are expected to be recognized over weighted-average periods of 2.6 years, 2.8 years, 0.6 years, and 0.1 years, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Performance-Based Stock Options and Restricted Stock Units &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On December&#160;21, 2018, the Compensation and Talent committee of the Company's board of directors (&#x201c;Compensation Committee&#x201d;) granted the equity award for 2019 to the Company&#x2019;s former chief executive officer, Philippe Courtot (&#x201c;Mr. Courtot&#x201d;). The first portion of the award consisted of 56 thousand RSUs that were scheduled to vest in 16 quarterly increments beginning on January 1, 2019. The second portion of the award consisted of a target number of 33&#160;thousand PSUs, which were scheduled to vest at the end of the three-year performance period from January 2019 through December 2021. The actual number of PSUs eligible to vest ranged from 0% to 200% of the target number, depending on the level of achievement of goals related to revenue growth during the three-year performance period from January 2019 through December 2021 and Adjusted EBITDA margin for the fiscal year of 2021. The third portion of the award consisted of a target number of 33&#160;thousand PSUs, one third of which (11 thousand target PSUs) was scheduled to vest at the end of each fiscal year of 2019, 2020 and 2021. The actual number of PSUs eligible to vest at each vesting date ranged from 0% to 200% of the target number, depending on the level of achievement of goals related to revenue growth and Adjusted EBITDA margin for each of those years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November&#160;2, 2019, the Compensation Committee granted the equity award for 2020 to Mr. Courtot. The first portion of the award consisted of 49 thousand RSUs that were scheduled to vest in 16 quarterly installments beginning on December 1, 2019. The second portion of the award consisted of a target number of 124 thousand PSOs, which were scheduled to vest at the end of the three-year performance period from January 2020 through December 2022. The actual number of PSOs eligible to vest ranged from 0% to 200% of the target number, depending on the level of achievement of goals related to revenue growth and free cash flow per share growth during the performance period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On December&#160;10, 2020, the Compensation Committee granted the equity award for 2021 to Mr. Courtot. The first portion of the award consisted of 69 thousand RSUs that were scheduled to vest in 16 quarterly installments beginning on November 1, 2020. The second portion of the award consisted of a target number of 224&#160;thousand PSOs, which were scheduled to vest at the end of the three-year performance period from January 2021 through December 2023. The actual number of PSOs eligible to vest ranged from 0% to 200% of the target number, depending on the level of achievement of goals related to revenue growth and free cash flow per share growth during the performance period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The vesting of the above awards was conditioned on Mr. Courtot&#x2019;s continued service through the vesting dates or, for PSOs and PSUs, the dates that performance is certified in addition to the achievement of performance goals. If Mr. Courtot&#x2019;s employment was terminated (a) by reason of death or disability or (b) by the Company for reasons other than cause or good reason within 12 months following a change in control, then 100% of any unvested portions of these awards would vest, with any vesting in connection with change in control terminations conditioned upon the effectiveness of a release of claims in favor of the Company.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In February 2021 and 2020, 22&#160;thousand shares (representing 200% of target number of awards) and 15 thousand shares (representing 135% of target number of awards) under the equity award for 2019 for Mr. Courtot, vested as a result of the Company achieving the corresponding level of performance goals for 2020 and 2019, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March&#160;19, 2021, Mr. Courtot resigned from the Company due to health issues. The Compensation Committee determined that Mr. Courtot&#x2019;s termination of employment was on account of disability. In accordance with the grant agreements of the equity awards for 2021, 2020 and 2019 for Mr. Courtot, all remaining outstanding RSUs, PSUs and PSOs under these grants were subject to accelerated vesting and became fully vested at 100% of the target number of awards as of the date of his termination of employment, which consist of 127&#160;thousand RSUs, 44&#160;thousand PSUs and 348&#160;thousand PSOs. As a result, the Company recognized an additional $27.3 million of stock-based compensation expense due to the accelerated vesting in the consolidated statements of operations for the year ended December 31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April&#160;27, 2021, the Compensation Committee granted to the Company&#x2019;s current president and chief executive officer an equity award consisting of certain RSUs and a target number of 10&#160;thousand PSUs. The PSUs are scheduled to vest at the end of the three-year performance period from January 2021 through December 2023. The actual number of the PSUs eligible to vest range from 0% to 200% of the target number, depending on the level of achievement of goals related to revenue growth and free cash flow per share growth during the performance period. If the Company's current president and chief executive officer is terminated (a) by reason of death or disability or (b) by the Company for reasons other than cause or good reason within 12 months following a change in control, then 100% of any unvested portions of the award will vest, with any vesting in connection with terminations due to change in control conditioned upon the effectiveness of a release of claims in favor of the Company.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On October&#160;28, 2021, the Compensation Committee approved to certain executive officers of the Company equity awards consisting of certain RSUs and an aggregate target number of 73&#160;thousand PSUs. The target PSUs are scheduled to vest in &lt;span style="-sec-ix-hidden:f-1028"&gt;three&lt;/span&gt; equal annual installments over a three-year period from January 2022 through December 2024. Each annual installments at 200% of the annual target will be considered granted when the performance targets for the corresponding performance year are determined and approved. The actual number of the PSUs eligible to vest each year range from 0% to 200% of the annual target number, depending on the level of achievement of goals related to revenue growth and adjusted EBITDA margin corresponding to that year. The vesting and release of the first and second installment is capped at 100% of the target number at the end of the first and second year, respectively, with cumulative achievement over 100%, if any, to be vested and released at the end of the third year, together with the vesting of the third installment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On October&#160;27, 2022, the Compensation Committee approved to certain executive officers of the Company equity awards consisting of certain RSUs and an aggregate target number of 86&#160;thousand PSUs. The target PSUs are scheduled to vest in &lt;span style="-sec-ix-hidden:f-1036"&gt;three&lt;/span&gt; equal annual installments over a three-year period from January 2023 through December 2025. Each annual installments at 200% of the annual target will be considered granted when the performance targets for the corresponding performance year is determined and approved. The actual number of the PSUs eligible to vest each year range from 0% to 200% of the annual target number, depending on the level of achievement of goals related to revenue growth and adjusted EBITDA margin corresponding to that year. The vesting and release of the first and second installment is capped at 100% of the target number at the end of the first and second year, respectively, with cumulative achievement over 100%, if any, to be vested and released at the end of the third year, together with the vesting of the third installment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 6, 2023 and July 27, 2023, the Compensation Committee approved to certain executive officers of the Company equity awards consisting of certain RSUs and an aggregate target number of 6&#160;thousand and 9&#160;thousand PSUs, respectively. The target PSUs are scheduled to vest in &lt;span style="-sec-ix-hidden:f-1045"&gt;three&lt;/span&gt; equal annual installments over a three-year period from January 2023 through December 2025. Each annual installments at 200% of the annual target will be considered granted when the performance targets for the corresponding performance year are determined and approved. The actual number of the PSUs eligible to vest each year ranges from 0% to 200% of the annual target number, depending on the level of achievement of goals related to revenue growth and adjusted EBITDA margin corresponding to that year. The vesting and release of the first and second installment is capped at 100% of the target number at the end of the first and second year, respectively, with cumulative achievement over 100%, if any, to be vested and released at the end of the third year, together with the vesting of the third installment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On October 26, 2023, the Compensation Committee approved to certain executive officers of the Company equity awards consisting of certain RSUs and an aggregate target number of 81&#160;thousand PSUs. The target PSUs are scheduled to vest in &lt;span style="-sec-ix-hidden:f-1053"&gt;three&lt;/span&gt; equal annual installments over a three-year period from January 2024 through December 2026. Each annual installments at 200% of the annual target will be considered granted when the performance targets for the corresponding performance year is determined and approved. The performance targets are determined and approved each year in the first quarter of the corresponding performance year. Accordingly, such awards are not considered granted for accounting purposes as of December 31, 2023. The actual number of the PSUs eligible to vest each year range from 0% to 200% of the annual target number, depending on the level of achievement of goals related to revenue growth and adjusted EBITDA margin corresponding to that year. The vesting and release of the first and second installment is capped at 100% of the target number at the end of the first and second year, respectively, with cumulative achievement over 100%, if any, to be vested and released at the end of the third year, together with the vesting of the third installment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the PSUs approved on October 28, 2021, October 27, 2022, February 6, 2023, July 27, 2023 and October 26, 2023, any unvested PSU award may be accelerated in part or in full upon the occurrence of certain events, such as death or disability, or a change in control, as defined in the grant agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the years ended&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, 2022 and 2021, stock-based compensation expenses of $[nil], $[nil] and $13.3 million for PSOs, respectively, and $7.4 million, $3.9 million and $5.3 million for PSUs, respectively, were recognized.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted-average grant date fair value of the Company&#x2019;s stock options granted for the years ended December&#160;31, 2023, &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; and &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2021&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; was&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; $49.08, $50.32 and $41.23, respectively, using the Black-Scholes-Merton option-pricing model based on the following assumptions:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.8 to 3.9&lt;/span&gt;&lt;/div&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 #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.3 to 4.4&lt;/span&gt;&lt;/div&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 #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5.2 to 5.5&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;42% to 43%&lt;/span&gt;&lt;/div&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40% to 43%&lt;/span&gt;&lt;/div&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;38% to 41%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.7% to 4.9%&lt;/span&gt;&lt;/div&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.7% to 4.2%&lt;/span&gt;&lt;/div&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.5% to 1.2%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expected term of the options is based on evaluations of historical and expected future employee exercise behavior. The risk-free interest rate is based on the U.S. Treasury rates at the date of grant with maturity dates equal to the expected term at the grant date. The volatility was estimated using the historical volatility derived from the Company's common stock. The Company has not historically declared any dividends and does not expect to in the future. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of the Company&#x2019;s stock option activity is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:47.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Outstanding Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average Exercise &lt;br/&gt;Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average Remaining &lt;br/&gt;Contractual Life&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Aggregate Intrinsic Value&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(Years)&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Balance as of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,807&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;87.59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6.5&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;58,024&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;345&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;129.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(582)&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;78.32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Canceled&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(123)&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;125.39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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="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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Balance as of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,447&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;97.98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6.5&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;142,302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Vested and expected to vest as of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,271&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;93.44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6.2&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;130,691&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Exercisable as of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;739&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;68.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.5&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;94,272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The total intrinsic value of options exercised for the years ended&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, 2022 and 2021 was $41.7 million, $39.8 million and $42.5 million, respectively. Intrinsic value of an option is the difference between the fair value of the Company&#x2019;s common stock at the time of exercise and the exercise price paid. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of the Company&#x2019;s RSU activity is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:70.757%"&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.328%"&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:2.185%"&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.330%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Outstanding RSUs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average Grant Date&lt;br/&gt;Fair Value Per Share&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&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:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Balance as of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,183&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;124.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;488&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;140.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(414)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;116.92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(183)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;128.46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Balance as of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,074&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;133.60&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Outstanding and expected to vest as of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;863&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;132.53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:22.5pt;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt"&gt;Included 175&#160;thousand PSUs granted to certain executive officers in 2022 and 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:22.5pt;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt"&gt;Included 10&#160;thousand PSUs granted to certain executive officers in 2023&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:22.5pt;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(3)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt"&gt;Included 24&#160;thousand PSUs granted to certain executive officers in 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:22.5pt;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(4)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt"&gt;Included 22&#160;thousand PSUs granted to certain executive officers in 2022 and 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:22.5pt;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(5)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt"&gt;Included 139&#160;thousand PSUs granted to certain executive officers in 2023, 2022 and 2021. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The aggregate fair value of RSUs vested for the years ended December&#160;31, 2023, 2022 and 2021 was &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$55.7 million, $43.9 million and $59.5 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Employee Stock Purchase Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted-average grant date fair value of the Company&#x2019;s ESPP for the year ended December&#160;31, 2023 and 2022 was $34.50 and $39.14, respectively, using the Black-Scholes-Merton option-pricing model based on the following assumptions:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:71.757%"&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.185%"&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.371%"&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.187%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.5&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.5&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;30.0% to 43.8%&lt;/span&gt;&lt;/div&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;41.1% to 50.1% &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5.0% to 5.5%&lt;/span&gt;&lt;/div&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.7% to 3.1%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expected term of the ESPP represents the six-month offering period. The risk-free interest rate is based on the U.S. Treasury rates at the date of grant with maturity dates equal to the expected term at the grant date. The volatility was estimated using the historical volatility derived from the Company's common stock. The Company has not historically declared any dividends and does not expect to in the future. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',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="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's share repurchase program was authorized by the board of directors as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:85.900%"&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.371%"&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Announcement Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Authorized Dollar Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in millions)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;February 12, 2018&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;October 30, 2018&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;October 30, 2019&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;May 7, 2020&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;February 10, 2021&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;November 3, 2021&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;200.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;May 4, 2022&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;200.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;February 9, 2023&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total as of December 31, 2023&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-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,000.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Shares may be repurchased from time to time on the open market in accordance with Rule 10b-18 of the Exchange Act of 1934, including pursuant to a pre-set trading plan adopted in accordance with Rule 10b5-1 under the Exchange Act. All share repurchases have been made using cash resources. Repurchased shares are retired and reclassified as authorized and unissued shares of common stock. On retirement of the repurchased shares, common stock is reduced by an amount equal to the number of shares being retired multiplied by the par value. The excess amount that is retired over its par value is first allocated as a reduction to additional paid-in capital based on the original cost of additional paid-in capital per share of identified issuances. The remaining amount is allocated to accumulated deficit.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February&#160;7, 2024, the Company announced that its Board of Directors authorized an additional &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$200.0 million&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; under the share repurchase program, increasing the total amount of authorized repurchase to $1.2&#160;billion.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the years ended &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;31, 2023, 2022 and 2021, the Company repurch&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ased 1.3&#160;million shares, 2.5&#160;million shares and 1.1&#160;million shares of its common stock for $170.8 million, $317.3&#160;million and $130.0 million, respectively&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. As of December&#160;31, 2023, $83.7 million remained available for share repurchases pursuant to the Company's share repurchase program.&lt;/span&gt;&lt;/div&gt;On August 16, 2022, President Biden signed into law the Inflation Reduction Act of 2022 which contained provisions effective January 1, 2023, including a 1% excise tax on stock repurchases net of issue, which was immaterial to the Company's financial results and cash flows for the year ended December&#160;31, 2023.</us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="c-153"
      decimals="-5"
      id="f-936"
      unitRef="shares">20000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c-153"
      decimals="3"
      id="f-937"
      unitRef="usdPerShare">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesIssued contextRef="c-5" decimals="-5" id="f-938" unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued contextRef="c-4" decimals="-5" id="f-939" unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding contextRef="c-4" decimals="-5" id="f-940" unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding contextRef="c-5" decimals="-5" id="f-941" unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares
      contextRef="c-154"
      decimals="-3"
      id="f-942"
      unitRef="shares">3050000</qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreaseShares>
    <qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding contextRef="c-154" decimals="2" id="f-943" unitRef="number">0.05</qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedAnnualIncreasePercentOfSharesOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease
      contextRef="c-155"
      decimals="-3"
      id="f-944"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized
      contextRef="c-156"
      decimals="-3"
      id="f-945"
      unitRef="shares">3072000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="c-157"
      decimals="-3"
      id="f-946"
      unitRef="shares">9689000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="c-154"
      decimals="-3"
      id="f-947"
      unitRef="shares">1824000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-155" id="f-948">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod contextRef="c-155" id="f-949">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c-158"
      decimals="-3"
      id="f-950"
      unitRef="shares">600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod contextRef="c-159" id="f-951">P6M</qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod>
    <qlys:EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable contextRef="c-160" decimals="2" id="f-952" unitRef="number">0.01</qlys:EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable>
    <qlys:EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable contextRef="c-161" decimals="2" id="f-953" unitRef="number">0.15</qlys:EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent contextRef="c-159" decimals="2" id="f-954" unitRef="number">0.85</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans contextRef="c-1" decimals="-3" id="f-955" unitRef="shares">60000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="c-162"
      decimals="-3"
      id="f-956"
      unitRef="shares">494000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock contextRef="c-1" id="f-957">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table shows a summary of the stock-based compensation expenses included in the consolidated statements of operations for the years ended December&#160;31, 2023, 2022 and 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cost of revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,782&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;21,091&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;10,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6,323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;28,454&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;23,681&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;46,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total stock-based compensation, net of amounts capitalized (1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;69,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;53,408&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;67,579&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:31.5pt;text-align:justify;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt"&gt;Total stock-based compensation expense capitalized was de minimis during the year ended December&#160;31, 2023.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-163" decimals="-3" id="f-958" unitRef="usd">7300000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-164" decimals="-3" id="f-959" unitRef="usd">5305000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-165" decimals="-3" id="f-960" unitRef="usd">3782000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-166" decimals="-3" id="f-961" unitRef="usd">21091000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-167" decimals="-3" id="f-962" unitRef="usd">14585000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-168" decimals="-3" id="f-963" unitRef="usd">10750000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-169" decimals="-3" id="f-964" unitRef="usd">12234000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-170" decimals="-3" id="f-965" unitRef="usd">9837000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-171" decimals="-3" id="f-966" unitRef="usd">6323000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-172" decimals="-3" id="f-967" unitRef="usd">28454000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-173" decimals="-3" id="f-968" unitRef="usd">23681000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-174" decimals="-3" id="f-969" unitRef="usd">46724000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-1" decimals="-3" id="f-970" unitRef="usd">69079000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-6" decimals="-3" id="f-971" unitRef="usd">53408000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-7" decimals="-3" id="f-972" unitRef="usd">67579000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="c-1" decimals="-5" id="f-973" unitRef="usd">11000000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="c-6" decimals="-5" id="f-974" unitRef="usd">8300000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="c-7" decimals="-5" id="f-975" unitRef="usd">6200000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions contextRef="c-1" decimals="-3" id="f-976" unitRef="usd">5900000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions contextRef="c-6" decimals="-3" id="f-977" unitRef="usd">7000000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions contextRef="c-7" decimals="-3" id="f-978" unitRef="usd">4900000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="c-175" decimals="-5" id="f-979" unitRef="usd">23300000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="c-176" decimals="-5" id="f-980" unitRef="usd">94300000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="c-177" decimals="-5" id="f-981" unitRef="usd">1400000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="c-178" decimals="-5" id="f-982" unitRef="usd">300000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="c-179" id="f-983">P2Y7M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="c-180" id="f-984">P2Y9M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="c-181" id="f-985">P0Y7M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="c-182" id="f-986">P0Y1M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="c-183"
      decimals="-3"
      id="f-987"
      unitRef="shares">56000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods
      contextRef="c-184"
      decimals="INF"
      id="f-988"
      unitRef="number">16</qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c-185"
      decimals="-3"
      id="f-989"
      unitRef="shares">33000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-186" id="f-990">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage contextRef="c-187" decimals="2" id="f-991" unitRef="number">0</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage contextRef="c-188" decimals="2" id="f-992" unitRef="number">2</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod contextRef="c-186" id="f-993">P3Y</qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardPerformancePeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c-189"
      decimals="-3"
      id="f-994"
      unitRef="shares">33000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares
      contextRef="c-186"
      decimals="-3"
      id="f-995"
      unitRef="shares">11000</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetNumberOfShares>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage contextRef="c-190" decimals="2" id="f-996" unitRef="number">0</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage contextRef="c-191" decimals="2" id="f-997" unitRef="number">2</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c-192"
      decimals="-3"
      id="f-998"
      unitRef="shares">49000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods
      contextRef="c-192"
      decimals="INF"
      id="f-999"
      unitRef="number">16</qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c-193"
      decimals="-3"
      id="f-1000"
      unitRef="shares">124000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-194" id="f-1001">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-195"
      decimals="2"
      id="f-1002"
      unitRef="number">0</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-196"
      decimals="2"
      id="f-1003"
      unitRef="number">2</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c-197"
      decimals="-3"
      id="f-1004"
      unitRef="shares">69000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods
      contextRef="c-197"
      decimals="INF"
      id="f-1005"
      unitRef="number">16</qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingPeriodNumberOfQuarterlyPeriods>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c-198"
      decimals="-3"
      id="f-1006"
      unitRef="shares">224000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-199" id="f-1007">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-200"
      decimals="2"
      id="f-1008"
      unitRef="number">0</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-201"
      decimals="2"
      id="f-1009"
      unitRef="number">2</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationTerminationPeriodTrigger contextRef="c-202" id="f-1010">P12M</qlys:SharebasedCompensationTerminationPeriodTrigger>
    <qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger
      contextRef="c-202"
      decimals="2"
      id="f-1011"
      unitRef="number">1</qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="c-203"
      decimals="-3"
      id="f-1012"
      unitRef="shares">22000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget
      contextRef="c-203"
      decimals="2"
      id="f-1013"
      unitRef="number">2</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="c-204"
      decimals="-3"
      id="f-1014"
      unitRef="shares">15000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget
      contextRef="c-204"
      decimals="2"
      id="f-1015"
      unitRef="number">1.35</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAsAPercentageOfTarget>
    <qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger
      contextRef="c-205"
      decimals="2"
      id="f-1016"
      unitRef="number">1</qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber
      contextRef="c-206"
      decimals="-3"
      id="f-1017"
      unitRef="shares">127000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber
      contextRef="c-207"
      decimals="-3"
      id="f-1018"
      unitRef="shares">44000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber
      contextRef="c-208"
      decimals="-3"
      id="f-1019"
      unitRef="shares">348000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost contextRef="c-7" decimals="-5" id="f-1020" unitRef="usd">27300000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-209"
      decimals="-3"
      id="f-1021"
      unitRef="shares">10000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-209" id="f-1022">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-210"
      decimals="2"
      id="f-1023"
      unitRef="number">0</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-211"
      decimals="2"
      id="f-1024"
      unitRef="number">2</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationTerminationPeriodTrigger contextRef="c-209" id="f-1025">P12M</qlys:SharebasedCompensationTerminationPeriodTrigger>
    <qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger
      contextRef="c-209"
      decimals="2"
      id="f-1026"
      unitRef="number">1</qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-212"
      decimals="-3"
      id="f-1027"
      unitRef="shares">73000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-212" id="f-1029">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-213"
      decimals="2"
      id="f-1030"
      unitRef="number">2</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-214"
      decimals="2"
      id="f-1031"
      unitRef="number">0</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-213"
      decimals="2"
      id="f-1032"
      unitRef="number">2</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger
      contextRef="c-215"
      decimals="2"
      id="f-1033"
      unitRef="number">1</qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger>
    <qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger
      contextRef="c-215"
      decimals="2"
      id="f-1034"
      unitRef="number">1</qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-216"
      decimals="-3"
      id="f-1035"
      unitRef="shares">86000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-216" id="f-1037">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-217"
      decimals="2"
      id="f-1038"
      unitRef="number">2</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-218"
      decimals="2"
      id="f-1039"
      unitRef="number">0</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-217"
      decimals="2"
      id="f-1040"
      unitRef="number">2</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger
      contextRef="c-216"
      decimals="2"
      id="f-1041"
      unitRef="number">1</qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger>
    <qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger
      contextRef="c-216"
      decimals="2"
      id="f-1042"
      unitRef="number">1</qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-219"
      decimals="-3"
      id="f-1043"
      unitRef="shares">6000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-220"
      decimals="-3"
      id="f-1044"
      unitRef="shares">9000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-221" id="f-1046">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-222"
      decimals="2"
      id="f-1047"
      unitRef="number">2</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-223"
      decimals="2"
      id="f-1048"
      unitRef="number">0</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-222"
      decimals="2"
      id="f-1049"
      unitRef="number">2</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger
      contextRef="c-221"
      decimals="2"
      id="f-1050"
      unitRef="number">1</qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger>
    <qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger
      contextRef="c-221"
      decimals="2"
      id="f-1051"
      unitRef="number">1</qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-224"
      decimals="-3"
      id="f-1052"
      unitRef="shares">81000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-224" id="f-1054">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-225"
      decimals="2"
      id="f-1055"
      unitRef="number">2</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-226"
      decimals="2"
      id="f-1056"
      unitRef="number">0</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage
      contextRef="c-225"
      decimals="2"
      id="f-1057"
      unitRef="number">2</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage>
    <qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger
      contextRef="c-224"
      decimals="2"
      id="f-1058"
      unitRef="number">1</qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger>
    <qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger
      contextRef="c-224"
      decimals="2"
      id="f-1059"
      unitRef="number">1</qlys:SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-179" decimals="-5" id="f-1060" unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-227" decimals="INF" id="f-1061" unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-228" decimals="-5" id="f-1062" unitRef="usd">13300000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-180" decimals="-5" id="f-1063" unitRef="usd">7400000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-229" decimals="-5" id="f-1064" unitRef="usd">3900000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-230" decimals="-5" id="f-1065" unitRef="usd">5300000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="c-1" id="f-1066">&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted-average grant date fair value of the Company&#x2019;s stock options granted for the years ended December&#160;31, 2023, &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; and &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2021&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; was&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; $49.08, $50.32 and $41.23, respectively, using the Black-Scholes-Merton option-pricing model based on the following assumptions:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.8 to 3.9&lt;/span&gt;&lt;/div&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 #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.3 to 4.4&lt;/span&gt;&lt;/div&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 #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5.2 to 5.5&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;42% to 43%&lt;/span&gt;&lt;/div&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40% to 43%&lt;/span&gt;&lt;/div&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;38% to 41%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.7% to 4.9%&lt;/span&gt;&lt;/div&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.7% to 4.2%&lt;/span&gt;&lt;/div&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.5% to 1.2%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-1"
      decimals="2"
      id="f-1067"
      unitRef="usdPerShare">49.08</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-6"
      decimals="2"
      id="f-1068"
      unitRef="usdPerShare">50.32</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-7"
      decimals="2"
      id="f-1069"
      unitRef="usdPerShare">41.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="c-231" id="f-1070">P3Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="c-48" id="f-1071">P3Y10M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="c-232" id="f-1072">P4Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="c-233" id="f-1073">P4Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="c-234" id="f-1074">P5Y2M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="c-235" id="f-1075">P5Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="c-231"
      decimals="2"
      id="f-1076"
      unitRef="number">0.42</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="c-48" decimals="2" id="f-1077" unitRef="number">0.43</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="c-232"
      decimals="2"
      id="f-1078"
      unitRef="number">0.40</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="c-233"
      decimals="2"
      id="f-1079"
      unitRef="number">0.43</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="c-234"
      decimals="2"
      id="f-1080"
      unitRef="number">0.38</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="c-235"
      decimals="2"
      id="f-1081"
      unitRef="number">0.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="c-231"
      decimals="3"
      id="f-1082"
      unitRef="number">0.037</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="c-48" decimals="3" id="f-1083" unitRef="number">0.049</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="c-232"
      decimals="3"
      id="f-1084"
      unitRef="number">0.017</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="c-233"
      decimals="3"
      id="f-1085"
      unitRef="number">0.042</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="c-234"
      decimals="3"
      id="f-1086"
      unitRef="number">0.005</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="c-235"
      decimals="3"
      id="f-1087"
      unitRef="number">0.012</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="c-1" decimals="0" id="f-1088" unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="c-6" decimals="0" id="f-1089" unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="c-7" decimals="0" id="f-1090" unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="c-1" id="f-1091">&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of the Company&#x2019;s stock option activity is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:47.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.328%"&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.371%"&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="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Outstanding Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average Exercise &lt;br/&gt;Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average Remaining &lt;br/&gt;Contractual Life&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Aggregate Intrinsic Value&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(Years)&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Balance as of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,807&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;87.59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6.5&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;58,024&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;345&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;129.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(582)&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;78.32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Canceled&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(123)&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;125.39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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="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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Balance as of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,447&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;97.98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6.5&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;142,302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Vested and expected to vest as of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,271&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;93.44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6.2&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;130,691&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Exercisable as of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;739&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;68.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.5&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;94,272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="c-5" decimals="-3" id="f-1092" unitRef="shares">1807000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c-5"
      decimals="2"
      id="f-1093"
      unitRef="usdPerShare">87.59</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="c-6" id="f-1094">P6Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="c-5" decimals="-3" id="f-1095" unitRef="usd">58024000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="c-1" decimals="-3" id="f-1096" unitRef="shares">345000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="c-1"
      decimals="2"
      id="f-1097"
      unitRef="usdPerShare">129.00</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c-1" decimals="-3" id="f-1098" unitRef="shares">582000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="c-1"
      decimals="2"
      id="f-1099"
      unitRef="usdPerShare">78.32</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod contextRef="c-1" decimals="-3" id="f-1100" unitRef="shares">123000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="c-1"
      decimals="2"
      id="f-1101"
      unitRef="usdPerShare">125.39</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="c-4" decimals="-3" id="f-1102" unitRef="shares">1447000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c-4"
      decimals="2"
      id="f-1103"
      unitRef="usdPerShare">97.98</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="c-1" id="f-1104">P6Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="c-4" decimals="-3" id="f-1105" unitRef="usd">142302000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber contextRef="c-4" decimals="-3" id="f-1106" unitRef="shares">1271000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="c-4"
      decimals="2"
      id="f-1107"
      unitRef="usdPerShare">93.44</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 contextRef="c-1" id="f-1108">P6Y2M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue contextRef="c-4" decimals="-3" id="f-1109" unitRef="usd">130691000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber contextRef="c-4" decimals="-3" id="f-1110" unitRef="shares">739000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
      contextRef="c-4"
      decimals="2"
      id="f-1111"
      unitRef="usdPerShare">68.68</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1 contextRef="c-1" id="f-1112">P4Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue contextRef="c-4" decimals="-3" id="f-1113" unitRef="usd">94272000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="c-1" decimals="-5" id="f-1114" unitRef="usd">41700000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="c-6" decimals="-5" id="f-1115" unitRef="usd">39800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="c-7" decimals="-5" id="f-1116" unitRef="usd">42500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock contextRef="c-1" id="f-1117">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of the Company&#x2019;s RSU activity is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:70.757%"&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.328%"&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:2.185%"&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.330%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Outstanding RSUs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Weighted Average Grant Date&lt;br/&gt;Fair Value Per Share&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&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:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Balance as of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,183&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;124.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;488&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;140.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(414)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;116.92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(183)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;128.46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Balance as of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,074&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;133.60&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Outstanding and expected to vest as of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;863&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;132.53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:22.5pt;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt"&gt;Included 175&#160;thousand PSUs granted to certain executive officers in 2022 and 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:22.5pt;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt"&gt;Included 10&#160;thousand PSUs granted to certain executive officers in 2023&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:22.5pt;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(3)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt"&gt;Included 24&#160;thousand PSUs granted to certain executive officers in 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:22.5pt;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(4)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt"&gt;Included 22&#160;thousand PSUs granted to certain executive officers in 2022 and 2021.&lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(5)&lt;/span&gt;Included 139&#160;thousand PSUs granted to certain executive officers in 2023, 2022 and 2021.</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-236"
      decimals="-3"
      id="f-1118"
      unitRef="shares">1183000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-236"
      decimals="2"
      id="f-1119"
      unitRef="usdPerShare">124.42</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-180"
      decimals="-3"
      id="f-1120"
      unitRef="shares">488000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-180"
      decimals="2"
      id="f-1121"
      unitRef="usdPerShare">140.08</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="c-180"
      decimals="-3"
      id="f-1122"
      unitRef="shares">414000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-180"
      decimals="2"
      id="f-1123"
      unitRef="usdPerShare">116.92</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="c-180"
      decimals="-3"
      id="f-1124"
      unitRef="shares">183000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="c-180"
      decimals="2"
      id="f-1125"
      unitRef="usdPerShare">128.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-176"
      decimals="-3"
      id="f-1126"
      unitRef="shares">1074000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-176"
      decimals="2"
      id="f-1127"
      unitRef="usdPerShare">133.60</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <qlys:SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="c-176"
      decimals="-3"
      id="f-1128"
      unitRef="shares">863000</qlys:SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber>
    <qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="c-176"
      decimals="2"
      id="f-1129"
      unitRef="usdPerShare">132.53</qlys:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-237"
      decimals="-3"
      id="f-1130"
      unitRef="shares">175000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-238"
      decimals="-3"
      id="f-1131"
      unitRef="shares">175000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-239"
      decimals="-3"
      id="f-1132"
      unitRef="shares">10000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-240"
      decimals="-3"
      id="f-1133"
      unitRef="shares">24000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-241"
      decimals="-3"
      id="f-1134"
      unitRef="shares">22000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-242"
      decimals="-3"
      id="f-1135"
      unitRef="shares">22000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-243"
      decimals="-3"
      id="f-1136"
      unitRef="shares">139000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-244"
      decimals="-3"
      id="f-1137"
      unitRef="shares">139000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-245"
      decimals="-3"
      id="f-1138"
      unitRef="shares">139000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-180" decimals="-5" id="f-1139" unitRef="usd">55700000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-229" decimals="-5" id="f-1140" unitRef="usd">43900000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-230" decimals="-5" id="f-1141" unitRef="usd">59500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock contextRef="c-1" id="f-1142">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted-average grant date fair value of the Company&#x2019;s ESPP for the year ended December&#160;31, 2023 and 2022 was $34.50 and $39.14, respectively, using the Black-Scholes-Merton option-pricing model based on the following assumptions:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:71.757%"&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.185%"&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.371%"&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.187%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.5&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.5&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;30.0% to 43.8%&lt;/span&gt;&lt;/div&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;41.1% to 50.1% &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5.0% to 5.5%&lt;/span&gt;&lt;/div&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.7% to 3.1%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-246"
      decimals="2"
      id="f-1143"
      unitRef="usdPerShare">34.50</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-247"
      decimals="2"
      id="f-1144"
      unitRef="usdPerShare">39.14</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="c-246" id="f-1145">P0Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="c-247" id="f-1146">P0Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="c-246"
      decimals="3"
      id="f-1147"
      unitRef="number">0.300</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="c-246"
      decimals="3"
      id="f-1148"
      unitRef="number">0.438</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="c-247"
      decimals="3"
      id="f-1149"
      unitRef="number">0.411</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="c-247"
      decimals="3"
      id="f-1150"
      unitRef="number">0.501</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="c-246"
      decimals="3"
      id="f-1151"
      unitRef="number">0.050</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="c-246"
      decimals="3"
      id="f-1152"
      unitRef="number">0.055</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="c-247"
      decimals="3"
      id="f-1153"
      unitRef="number">0.007</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="c-247"
      decimals="3"
      id="f-1154"
      unitRef="number">0.031</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="c-246"
      decimals="0"
      id="f-1155"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="c-247"
      decimals="0"
      id="f-1156"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod contextRef="c-1" id="f-1157">P6M</qlys:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod>
    <qlys:ShareRepurchaseProgramTableTextBlock contextRef="c-1" id="f-1158">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's share repurchase program was authorized by the board of directors as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:85.900%"&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.371%"&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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Announcement Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Authorized Dollar Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in millions)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;February 12, 2018&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;October 30, 2018&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;October 30, 2019&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;May 7, 2020&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;February 10, 2021&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;November 3, 2021&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;200.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;May 4, 2022&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;200.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;February 9, 2023&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total as of December 31, 2023&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-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,000.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</qlys:ShareRepurchaseProgramTableTextBlock>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="c-248" decimals="-5" id="f-1159" unitRef="usd">100000000.0</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="c-249" decimals="-5" id="f-1160" unitRef="usd">100000000.0</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="c-250" decimals="-5" id="f-1161" unitRef="usd">100000000.0</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="c-251" decimals="-5" id="f-1162" unitRef="usd">100000000.0</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="c-252" decimals="-5" id="f-1163" unitRef="usd">100000000.0</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="c-253" decimals="-5" id="f-1164" unitRef="usd">200000000.0</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="c-254" decimals="-5" id="f-1165" unitRef="usd">200000000.0</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="c-255" decimals="-5" id="f-1166" unitRef="usd">100000000.0</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="c-4" decimals="-5" id="f-1167" unitRef="usd">1000000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <qlys:StockRepurchaseProgramAdditionalAuthorizedAmount contextRef="c-256" decimals="-5" id="f-1168" unitRef="usd">200000000</qlys:StockRepurchaseProgramAdditionalAuthorizedAmount>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="c-257" decimals="-8" id="f-1169" unitRef="usd">1200000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares contextRef="c-1" decimals="-5" id="f-1170" unitRef="shares">1300000</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares contextRef="c-6" decimals="-5" id="f-1171" unitRef="shares">2500000</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares contextRef="c-7" decimals="-5" id="f-1172" unitRef="shares">1100000</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue contextRef="c-1" decimals="-5" id="f-1173" unitRef="usd">170800000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue contextRef="c-6" decimals="-5" id="f-1174" unitRef="usd">317300000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue contextRef="c-7" decimals="-5" id="f-1175" unitRef="usd">130000000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1 contextRef="c-4" decimals="-5" id="f-1176" unitRef="usd">83700000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
    <us-gaap:CompensationAndEmployeeBenefitPlansTextBlock contextRef="c-1" id="f-1178">Employee Benefits Plan&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s 401(k) Plan was established in 2000 to provide retirement and incidental benefits for its employees. As allowed under section 401(k) of the Internal Revenue Code, the 401(k) Plan provides tax-deferred salary deductions for eligible employees. Contributions to the 401(k) Plan are limited to a maximum amount as set periodically by the Internal Revenue Service. For the years ended &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, 2022 and 2021, the Company made contributions to the 401(k) Plan of $4.1 million, $3.5 million and $2.4 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company contributes to a Provident Fund Plan for its employees in India, which is a defined contribution plan set up in accordance with local labor and tax laws. Gratuity is also paid by the Company to eligible employees in India in accordance with Payment of Gratuity Act, 1972. For the years ended&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, 2022 and 2021, the Company contributed $2.3 million, $2.0 million and $1.7 million, respectively, to those plans.&lt;/span&gt;&lt;/div&gt;</us-gaap:CompensationAndEmployeeBenefitPlansTextBlock>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-1" decimals="-5" id="f-1179" unitRef="usd">4100000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-6" decimals="-5" id="f-1180" unitRef="usd">3500000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized contextRef="c-7" decimals="-5" id="f-1181" unitRef="usd">2400000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="c-1" decimals="-5" id="f-1182" unitRef="usd">2300000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="c-6" decimals="-5" id="f-1183" unitRef="usd">2000000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="c-7" decimals="-5" id="f-1184" unitRef="usd">1700000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="c-1" id="f-1185">Income Taxes&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s geographical breakdown of income before income taxes is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Domestic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;164,958&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;122,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;80,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;11,687&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;8,925&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Income before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;178,651&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;133,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;89,397&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Income tax provision consists of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Current&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: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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;32,405&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;35,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;20,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6,061&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6,269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,606&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Current income tax provision&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;43,684&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;46,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;28,160&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Deferred&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(13,584)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(17,097)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(7,342)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,009)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(3,055)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,722)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,035)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(301)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(659)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred income tax benefit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(16,628)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(20,453)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(9,723)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Income tax provision&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;27,056&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;25,708&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;18,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The reconciliation of the statutory federal income tax rate to the Company&#x2019;s effective tax rate is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Federal statutory rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&lt;/span&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&lt;/span&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;State taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;10.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Excess tax benefits related to stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2.9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(5.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(5.4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign source income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Change in valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign-derived intangible income deduction&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(4.4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(4.9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(7.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Federal and state research and development credit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1.4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1.3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1.9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrual to return adjustments and Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2.9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(0.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(0.1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Income tax provision&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;15.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&lt;/span&gt;&lt;/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;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;19.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&lt;/span&gt;&lt;/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;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;20.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Deferred Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred income taxes reflect the tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting purposes and the amounts used for income tax purposes. The components of the Company&#x2019;s deferred tax assets and liabilities are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.471%"&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.328%"&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.371%"&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.330%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Deferred tax assets&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: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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Research and development credit carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;11,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;10,957&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fixed assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,677&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,766&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7,722&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;10,667&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,549&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,263&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,691&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Capitalized research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;47,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;30,234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,999&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,195&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Gross deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;84,810&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;71,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(12,375)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(12,476)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;72,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;59,176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fixed assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,745)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating leases - right of use asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(5,999)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(8,359)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred commissions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(3,675)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(3,660)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(9,674)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(13,764)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;62,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;45,412&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The realization of deferred tax assets is dependent upon the generation of sufficient taxable income of the appropriate character in future periods. The Company regularly assesses the ability to realize its deferred tax assets and establishes a valuation allowance if it is more-likely than-not that some portion, or all, of the deferred tax assets will not be realized. The Company weighs all available positive and negative evidence, including its earnings history and results of recent operations, scheduled reversals of deferred tax liabilities, projected future taxable income, and tax planning strategies. Due to the weight of objectively verifiable negative evidence, it is more-likely-than-not that its California deferred tax assets will not be realized as of &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. Additionally, due to a lack of sufficient future income of the appropriate character, certain U.S. federal and state deferred tax assets are not more-likely-than-not to be realized. Accordingly, the Company has recorded a valuation allowance of $12.4 million and $12.5 million against such deferred tax assets as of&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; and 2022, respectively. The decrease in valuation allowance was mainly associated with the California research and development credit generated during the year ended&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; offset by a decrease in unrealized loss on available for sale securities that will not likely be realized in the foreseeable future.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; December&#160;31, 2023 and &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022, the Company had $17.0 million and $16.2 million, respectively, of California research and development credit carryforwards. California research and development credits are carried forward indefinitely. As of&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; December&#160;31, 2023 and &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022, the Company had foreign tax credit carryforwards of $1.0 million and $0.9 million, respectively, which begin to expire in 2028. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the activity related to the Company&#x2019;s unrecognized tax benefits:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Unrecognized tax benefits beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;10,542&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;8,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Gross increase for tax positions of prior years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;262&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Gross decrease for tax positions of prior years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(25)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Gross increase for tax positions of current year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;777&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;846&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lapse of statute of limitations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(33)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total unrecognized tax benefits&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;11,898&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;10,542&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The unrecognized tax benefits, if recognized, would impact the income tax provision by $6.1 million, $5.3 million and $4.9 million as of &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, 2022 and 2021, respectively. The remaining amount would result in the recognition of a corresponding deferred tax asset that is then offset by a full valuation allowance. As of &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, the Company does not believe that its estimates, as otherwise provided for, on such tax positions will significantly increase or decrease within the next twelve months. The Company has elected to include interest and penalties as a component of income tax expense. The amounts were not material for the years ended&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, 2022 and 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company files income tax returns in the United States, including various state jurisdictions. The Company&#x2019;s subsidiaries file tax returns in India and various other foreign jurisdictions. The tax years 2001 through 2023 remain open to examination by the major taxing jurisdictions in which the Company is subject to tax. The Company is also currently subject to tax audits in various jurisdictions. The Company believes that an adequate provision has been made for any adjustments that may result from tax examinations. However, the outcome of tax audits cannot be predicted with certainty. If any issues addressed in the Company's tax audits are resolved in a manner inconsistent with its expectations, the Company could be required to adjust its income tax provision in the period such resolution occurs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; December&#160;31, 2023, the Company has undistributed earnings in certain foreign subsidiaries that the Company has indefinitely reinvested outside the United States. Due to U.S. tax rules related to taxation of foreign earnings, the unrecorded deferred tax liability is immaterial. The Company may be required to pay additional foreign withholding taxes if the Company repatriates those earnings in the future.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock contextRef="c-1" id="f-1186">&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s geographical breakdown of income before income taxes is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Domestic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;164,958&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;122,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;80,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;11,687&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;8,925&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Income before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;178,651&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;133,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;89,397&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="c-1" decimals="-3" id="f-1187" unitRef="usd">164958000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="c-6" decimals="-3" id="f-1188" unitRef="usd">122013000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="c-7" decimals="-3" id="f-1189" unitRef="usd">80472000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="c-1" decimals="-3" id="f-1190" unitRef="usd">13693000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="c-6" decimals="-3" id="f-1191" unitRef="usd">11687000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="c-7" decimals="-3" id="f-1192" unitRef="usd">8925000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-1193" unitRef="usd">178651000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-6" decimals="-3" id="f-1194" unitRef="usd">133700000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-7" decimals="-3" id="f-1195" unitRef="usd">89397000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="c-1" id="f-1196">&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Income tax provision consists of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Current&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: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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;32,405&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;35,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;20,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6,061&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6,269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,606&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Current income tax provision&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;43,684&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;46,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;28,160&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Deferred&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(13,584)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(17,097)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(7,342)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,009)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(3,055)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,722)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,035)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(301)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(659)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred income tax benefit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(16,628)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(20,453)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(9,723)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Income tax provision&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;27,056&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;25,708&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;18,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-1197" unitRef="usd">32405000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-1198" unitRef="usd">35286000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-1199" unitRef="usd">20135000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-1200" unitRef="usd">6061000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-1201" unitRef="usd">6269000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-1202" unitRef="usd">4324000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-1203" unitRef="usd">5218000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-1204" unitRef="usd">4606000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-1205" unitRef="usd">3701000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-1206" unitRef="usd">43684000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-1207" unitRef="usd">46161000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-1208" unitRef="usd">28160000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-1209" unitRef="usd">-13584000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-1210" unitRef="usd">-17097000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-1211" unitRef="usd">-7342000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-1212" unitRef="usd">-2009000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-1213" unitRef="usd">-3055000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-1214" unitRef="usd">-1722000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-1215" unitRef="usd">-1035000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-1216" unitRef="usd">-301000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-1217" unitRef="usd">-659000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-1218" unitRef="usd">-16628000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-1219" unitRef="usd">-20453000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-1220" unitRef="usd">-9723000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-1221" unitRef="usd">27056000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-1222" unitRef="usd">25708000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-1223" unitRef="usd">18437000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="c-1" id="f-1224">&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The reconciliation of the statutory federal income tax rate to the Company&#x2019;s effective tax rate is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Federal statutory rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&lt;/span&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&lt;/span&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;State taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;10.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Excess tax benefits related to stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2.9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(5.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(5.4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign source income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Change in valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign-derived intangible income deduction&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(4.4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(4.9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(7.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Federal and state research and development credit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1.4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1.3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1.9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrual to return adjustments and Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2.9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(0.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(0.1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Income tax provision&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;15.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&lt;/span&gt;&lt;/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;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;19.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&lt;/span&gt;&lt;/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;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;20.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="c-1" decimals="3" id="f-1225" unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="c-6" decimals="3" id="f-1226" unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="c-7" decimals="3" id="f-1227" unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="c-1" decimals="3" id="f-1228" unitRef="number">0.026</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="c-6" decimals="3" id="f-1229" unitRef="number">0.023</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="c-7" decimals="3" id="f-1230" unitRef="number">0.031</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost contextRef="c-1" decimals="3" id="f-1231" unitRef="number">0.027</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost contextRef="c-6" decimals="3" id="f-1232" unitRef="number">0.034</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost contextRef="c-7" decimals="3" id="f-1233" unitRef="number">0.103</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent contextRef="c-1" decimals="3" id="f-1234" unitRef="number">-0.029</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent contextRef="c-6" decimals="3" id="f-1235" unitRef="number">-0.052</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent contextRef="c-7" decimals="3" id="f-1236" unitRef="number">-0.054</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential contextRef="c-1" decimals="3" id="f-1237" unitRef="number">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential contextRef="c-6" decimals="3" id="f-1238" unitRef="number">0.038</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential contextRef="c-7" decimals="3" id="f-1239" unitRef="number">0.004</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance contextRef="c-1" decimals="3" id="f-1240" unitRef="number">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance contextRef="c-6" decimals="3" id="f-1241" unitRef="number">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance contextRef="c-7" decimals="3" id="f-1242" unitRef="number">0.002</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent contextRef="c-1" decimals="3" id="f-1243" unitRef="number">0.044</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent contextRef="c-6" decimals="3" id="f-1244" unitRef="number">0.049</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent contextRef="c-7" decimals="3" id="f-1245" unitRef="number">0.070</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch contextRef="c-1" decimals="3" id="f-1246" unitRef="number">0.014</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch contextRef="c-6" decimals="3" id="f-1247" unitRef="number">0.013</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch contextRef="c-7" decimals="3" id="f-1248" unitRef="number">0.019</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="c-1" decimals="3" id="f-1249" unitRef="number">-0.029</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="c-6" decimals="3" id="f-1250" unitRef="number">-0.002</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="c-7" decimals="3" id="f-1251" unitRef="number">-0.001</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-1" decimals="3" id="f-1252" unitRef="number">0.151</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-6" decimals="3" id="f-1253" unitRef="number">0.192</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-7" decimals="3" id="f-1254" unitRef="number">0.206</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="c-1" id="f-1255">The components of the Company&#x2019;s deferred tax assets and liabilities are as follows:&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.471%"&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.328%"&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.371%"&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.330%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Deferred tax assets&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: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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Research and development credit carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;11,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;10,957&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fixed assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,677&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,766&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7,722&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;10,667&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,549&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,263&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,691&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Capitalized research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;47,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;30,234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,999&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,195&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Gross deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;84,810&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;71,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(12,375)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(12,476)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;72,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;59,176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fixed assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,745)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating leases - right of use asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(5,999)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(8,359)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred commissions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(3,675)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(3,660)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(9,674)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(13,764)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;62,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;45,412&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch contextRef="c-4" decimals="-3" id="f-1256" unitRef="usd">11502000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch contextRef="c-5" decimals="-3" id="f-1257" unitRef="usd">10957000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment contextRef="c-4" decimals="-3" id="f-1258" unitRef="usd">581000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment contextRef="c-5" decimals="-3" id="f-1259" unitRef="usd">0</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="c-4" decimals="-3" id="f-1260" unitRef="usd">3020000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="c-5" decimals="-3" id="f-1261" unitRef="usd">3677000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsDeferredIncome contextRef="c-4" decimals="-3" id="f-1262" unitRef="usd">3381000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsDeferredIncome contextRef="c-5" decimals="-3" id="f-1263" unitRef="usd">5766000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <qlys:DeferredTaxAssetsOperatingLeaseLiabilities contextRef="c-4" decimals="-3" id="f-1264" unitRef="usd">7722000</qlys:DeferredTaxAssetsOperatingLeaseLiabilities>
    <qlys:DeferredTaxAssetsOperatingLeaseLiabilities contextRef="c-5" decimals="-3" id="f-1265" unitRef="usd">10667000</qlys:DeferredTaxAssetsOperatingLeaseLiabilities>
    <us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets contextRef="c-4" decimals="-3" id="f-1266" unitRef="usd">3549000</us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets contextRef="c-5" decimals="-3" id="f-1267" unitRef="usd">3465000</us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="c-4" decimals="-3" id="f-1268" unitRef="usd">4263000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="c-5" decimals="-3" id="f-1269" unitRef="usd">4691000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment contextRef="c-4" decimals="-3" id="f-1270" unitRef="usd">47793000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment contextRef="c-5" decimals="-3" id="f-1271" unitRef="usd">30234000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsOther contextRef="c-4" decimals="-3" id="f-1272" unitRef="usd">2999000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther contextRef="c-5" decimals="-3" id="f-1273" unitRef="usd">2195000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross contextRef="c-4" decimals="-3" id="f-1274" unitRef="usd">84810000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross contextRef="c-5" decimals="-3" id="f-1275" unitRef="usd">71652000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="c-4" decimals="-3" id="f-1276" unitRef="usd">12375000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="c-5" decimals="-3" id="f-1277" unitRef="usd">12476000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet contextRef="c-4" decimals="-3" id="f-1278" unitRef="usd">72435000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet contextRef="c-5" decimals="-3" id="f-1279" unitRef="usd">59176000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="c-4" decimals="-3" id="f-1280" unitRef="usd">0</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="c-5" decimals="-3" id="f-1281" unitRef="usd">1745000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <qlys:DeferredLiabilitiesRightofuseAssets contextRef="c-4" decimals="-3" id="f-1282" unitRef="usd">5999000</qlys:DeferredLiabilitiesRightofuseAssets>
    <qlys:DeferredLiabilitiesRightofuseAssets contextRef="c-5" decimals="-3" id="f-1283" unitRef="usd">8359000</qlys:DeferredLiabilitiesRightofuseAssets>
    <qlys:DeferredTaxLiabilitiesDeferredCommission contextRef="c-4" decimals="-3" id="f-1284" unitRef="usd">3675000</qlys:DeferredTaxLiabilitiesDeferredCommission>
    <qlys:DeferredTaxLiabilitiesDeferredCommission contextRef="c-5" decimals="-3" id="f-1285" unitRef="usd">3660000</qlys:DeferredTaxLiabilitiesDeferredCommission>
    <us-gaap:DeferredIncomeTaxLiabilities contextRef="c-4" decimals="-3" id="f-1286" unitRef="usd">9674000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities contextRef="c-5" decimals="-3" id="f-1287" unitRef="usd">13764000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet contextRef="c-4" decimals="-3" id="f-1288" unitRef="usd">62761000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet contextRef="c-5" decimals="-3" id="f-1289" unitRef="usd">45412000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="c-4" decimals="-5" id="f-1290" unitRef="usd">12400000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="c-5" decimals="-5" id="f-1291" unitRef="usd">12500000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:OperatingLossCarryforwards contextRef="c-4" decimals="-5" id="f-1292" unitRef="usd">17000000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards contextRef="c-5" decimals="-5" id="f-1293" unitRef="usd">16200000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:TaxCreditCarryforwardAmount contextRef="c-258" decimals="-5" id="f-1294" unitRef="usd">1000000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:TaxCreditCarryforwardAmount contextRef="c-259" decimals="-5" id="f-1295" unitRef="usd">900000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock contextRef="c-1" id="f-1296">&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the activity related to the Company&#x2019;s unrecognized tax benefits:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Unrecognized tax benefits beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;10,542&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;8,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Gross increase for tax positions of prior years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;262&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Gross decrease for tax positions of prior years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(25)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Gross increase for tax positions of current year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;777&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;846&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lapse of statute of limitations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(33)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total unrecognized tax benefits&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;11,898&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;10,542&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits contextRef="c-5" decimals="-3" id="f-1297" unitRef="usd">10542000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits contextRef="c-8" decimals="-3" id="f-1298" unitRef="usd">9676000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits contextRef="c-9" decimals="-3" id="f-1299" unitRef="usd">8855000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions contextRef="c-1" decimals="-3" id="f-1300" unitRef="usd">262000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions contextRef="c-6" decimals="-3" id="f-1301" unitRef="usd">89000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions contextRef="c-7" decimals="-3" id="f-1302" unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions contextRef="c-1" decimals="-3" id="f-1303" unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions contextRef="c-6" decimals="-3" id="f-1304" unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions contextRef="c-7" decimals="-3" id="f-1305" unitRef="usd">25000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions contextRef="c-1" decimals="-3" id="f-1306" unitRef="usd">1127000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions contextRef="c-6" decimals="-3" id="f-1307" unitRef="usd">777000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions contextRef="c-7" decimals="-3" id="f-1308" unitRef="usd">846000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations contextRef="c-1" decimals="-3" id="f-1309" unitRef="usd">33000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations contextRef="c-6" decimals="-3" id="f-1310" unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations contextRef="c-7" decimals="-3" id="f-1311" unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefits contextRef="c-4" decimals="-3" id="f-1312" unitRef="usd">11898000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits contextRef="c-5" decimals="-3" id="f-1313" unitRef="usd">10542000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits contextRef="c-8" decimals="-3" id="f-1314" unitRef="usd">9676000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate contextRef="c-4" decimals="-5" id="f-1315" unitRef="usd">6100000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate contextRef="c-5" decimals="-5" id="f-1316" unitRef="usd">5300000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate contextRef="c-8" decimals="-5" id="f-1317" unitRef="usd">4900000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="c-1" id="f-1318">Segment and Geographic Area Information&lt;div style="margin-top:12pt;text-align:justify;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under ASC 280 Segment Reporting, operating segments are defined as components of an entity about which separate financial information is evaluated regularly by the chief operating decision maker in deciding how to allocate resources and in assessing performance. The Company operates in one segment and has only one reportable segment. The Company&#x2019;s chief operating decision maker is the Chief Executive Officer, who makes operating decisions, assesses performance and allocates resources on a consolidated basis. All of the Company&#x2019;s principal operations and decision-making functions are located in the United States.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue by geographic area, based on the customer's billing address, is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;332,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;292,291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;252,428&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;222,143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;197,432&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;158,744&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;554,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;489,723&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;411,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-lived assets, which consist of Property and equipment, net and Operating leases - right of use asset, by geographic area, are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.471%"&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.328%"&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.371%"&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.330%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;42,622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;58,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;India&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,952&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;16,057&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Rest of world&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6,348&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total Long-lived Assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;81,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="c-1"
      decimals="INF"
      id="f-1319"
      unitRef="segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:NumberOfReportableSegments
      contextRef="c-1"
      decimals="INF"
      id="f-1320"
      unitRef="segment">1</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock contextRef="c-1" id="f-1321">&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue by geographic area, based on the customer's billing address, is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;332,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;292,291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;252,428&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;222,143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;197,432&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;158,744&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;554,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;489,723&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;411,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-lived assets, which consist of Property and equipment, net and Operating leases - right of use asset, by geographic area, are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.471%"&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.328%"&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.371%"&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.330%"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;42,622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;58,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;India&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;9,952&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;16,057&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Rest of world&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6,348&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total Long-lived Assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;54,990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;81,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-260" decimals="-3" id="f-1322" unitRef="usd">332315000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-261" decimals="-3" id="f-1323" unitRef="usd">292291000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-262" decimals="-3" id="f-1324" unitRef="usd">252428000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-263" decimals="-3" id="f-1325" unitRef="usd">222143000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-264" decimals="-3" id="f-1326" unitRef="usd">197432000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-265" decimals="-3" id="f-1327" unitRef="usd">158744000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-1" decimals="-3" id="f-1328" unitRef="usd">554458000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-6" decimals="-3" id="f-1329" unitRef="usd">489723000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-7" decimals="-3" id="f-1330" unitRef="usd">411172000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets contextRef="c-266" decimals="-3" id="f-1331" unitRef="usd">42622000</qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets>
    <qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets contextRef="c-267" decimals="-3" id="f-1332" unitRef="usd">58775000</qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets>
    <qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets contextRef="c-268" decimals="-3" id="f-1333" unitRef="usd">9952000</qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets>
    <qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets contextRef="c-269" decimals="-3" id="f-1334" unitRef="usd">16057000</qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets>
    <qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets contextRef="c-270" decimals="-3" id="f-1335" unitRef="usd">2416000</qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets>
    <qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets contextRef="c-271" decimals="-3" id="f-1336" unitRef="usd">6348000</qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets>
    <qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets contextRef="c-4" decimals="-3" id="f-1337" unitRef="usd">54990000</qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets>
    <qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets contextRef="c-5" decimals="-3" id="f-1338" unitRef="usd">81180000</qlys:PropertyPlantAndEquipmentAndOperatingLeaseRightofuseAssets>
    <us-gaap:EarningsPerShareTextBlock contextRef="c-1" id="f-1339">Net Income Per Share&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The computations for basic and diluted net income per share are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands, except per share data)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Numerator:&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: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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;151,595&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;107,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;70,960&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic weighted average shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;36,879&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;38,453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;39,030&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Effect of potentially dilutive shares:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;482&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;863&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;237&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;216&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;224&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Employee stock purchase plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Diluted weighted average shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;37,602&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;39,344&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net income per share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #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:1pt solid #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:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.81&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.82&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.03&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.74&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Potentially dilutive shares not included in the calculation of diluted net income per share because doing so would be anti-dilutive are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;763&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;686&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;534&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;140&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;90&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;61&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Employee stock purchase plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total anti-dilutive shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;910&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;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;781&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;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;595&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="c-1" id="f-1340">&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The computations for basic and diluted net income per share are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands, except per share data)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Numerator:&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: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:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;151,595&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;107,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;70,960&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic weighted average shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;36,879&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;38,453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;39,030&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Effect of potentially dilutive shares:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;482&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;863&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;237&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;216&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;224&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Employee stock purchase plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Diluted weighted average shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;37,602&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;39,344&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net income per share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #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:1pt solid #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:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.81&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 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:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.82&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.03&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.74&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-1341" unitRef="usd">151595000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-6" decimals="-3" id="f-1342" unitRef="usd">107992000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-7" decimals="-3" id="f-1343" unitRef="usd">70960000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-1" decimals="-3" id="f-1344" unitRef="shares">36879000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-6" decimals="-3" id="f-1345" unitRef="shares">38453000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-7" decimals="-3" id="f-1346" unitRef="shares">39030000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="c-1" decimals="-3" id="f-1347" unitRef="shares">482000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="c-6" decimals="-3" id="f-1348" unitRef="shares">672000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="c-7" decimals="-3" id="f-1349" unitRef="shares">863000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants contextRef="c-1" decimals="-3" id="f-1350" unitRef="shares">237000</us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants>
    <us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants contextRef="c-6" decimals="-3" id="f-1351" unitRef="shares">216000</us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants>
    <us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants contextRef="c-7" decimals="-3" id="f-1352" unitRef="shares">224000</us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants>
    <us-gaap:IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements contextRef="c-1" decimals="-3" id="f-1353" unitRef="shares">4000</us-gaap:IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements>
    <us-gaap:IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements contextRef="c-6" decimals="-3" id="f-1354" unitRef="shares">3000</us-gaap:IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements>
    <us-gaap:IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements contextRef="c-7" decimals="-3" id="f-1355" unitRef="shares">1000</us-gaap:IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-1" decimals="-3" id="f-1356" unitRef="shares">37602000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-6" decimals="-3" id="f-1357" unitRef="shares">39344000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-7" decimals="-3" id="f-1358" unitRef="shares">40118000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-1"
      decimals="2"
      id="f-1359"
      unitRef="usdPerShare">4.11</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-6"
      decimals="2"
      id="f-1360"
      unitRef="usdPerShare">2.81</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-7"
      decimals="2"
      id="f-1361"
      unitRef="usdPerShare">1.82</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-1"
      decimals="2"
      id="f-1362"
      unitRef="usdPerShare">4.03</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-6"
      decimals="2"
      id="f-1363"
      unitRef="usdPerShare">2.74</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-7"
      decimals="2"
      id="f-1364"
      unitRef="usdPerShare">1.77</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock contextRef="c-1" id="f-1365">&lt;div style="margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Potentially dilutive shares not included in the calculation of diluted net income per share because doing so would be anti-dilutive are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.885%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.471%"&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.328%"&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.371%"&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.328%"&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.371%"&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.331%"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2023&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2022&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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&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:0 1pt"&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:0 1pt"&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;763&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;686&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;534&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;140&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;90&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;61&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Employee stock purchase plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total anti-dilutive shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;910&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;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;781&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;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;595&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-272"
      decimals="-3"
      id="f-1366"
      unitRef="shares">763000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-273"
      decimals="-3"
      id="f-1367"
      unitRef="shares">686000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-274"
      decimals="-3"
      id="f-1368"
      unitRef="shares">534000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-275"
      decimals="-3"
      id="f-1369"
      unitRef="shares">140000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-276"
      decimals="-3"
      id="f-1370"
      unitRef="shares">90000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-277"
      decimals="-3"
      id="f-1371"
      unitRef="shares">61000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-278"
      decimals="-3"
      id="f-1372"
      unitRef="shares">7000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-279"
      decimals="-3"
      id="f-1373"
      unitRef="shares">5000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-280"
      decimals="-3"
      id="f-1374"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c-1" decimals="-3" id="f-1375" unitRef="shares">910000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c-6" decimals="-3" id="f-1376" unitRef="shares">781000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c-7" decimals="-3" id="f-1377" unitRef="shares">595000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <ecd:MtrlTermsOfTrdArrTextBlock contextRef="c-281" id="f-1378">&lt;div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the three months ended December&#160;31, 2023, the following director, as defined in Rule 16a-1(f), adopted a &#x201c;Rule 10b5-1 trading arrangement&#x201d; as defined in Regulation S-K Item 408, as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November 21, 2023, Jeffrey P. Hank, the chair of our board of directors, adopted a Rule 10b5-1 trading arrangement providing for the sale from time to time of an aggregate of up to 8,850 shares of our common stock plus an additional number of shares to be granted on the date of the Company's 2024 Annual Meeting of Stockholders. Pursuant to the Company's non-employee director compensation program, each non-employee director who has served on our board of directors for at least six months prior to such date will be granted an award of restricted stock units with an intended value (based on the average of the closing prices of our common stock for the 30 trading days ending one week before the applicable grant date) of $200,000.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The trading arrangement is intended to satisfy the affirmative defense in Rule 10b5-1(c). The duration of the trading arrangement is until June 30, 2025, or earlier if all transactions under the trading arrangement are completed.&lt;/span&gt;&lt;/div&gt;</ecd:MtrlTermsOfTrdArrTextBlock>
    <ecd:TrdArrAdoptionDate contextRef="c-282" id="f-1379">November 21, 2023</ecd:TrdArrAdoptionDate>
    <ecd:TrdArrIndName contextRef="c-282" id="f-1380">Jeffrey P. Hank</ecd:TrdArrIndName>
    <ecd:TrdArrIndTitle contextRef="c-282" id="f-1381">chair of our board of directors</ecd:TrdArrIndTitle>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="c-282" id="f-1382">true</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:TrdArrSecuritiesAggAvailAmt
      contextRef="c-283"
      decimals="INF"
      id="f-1383"
      unitRef="shares">8850</ecd:TrdArrSecuritiesAggAvailAmt>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="c-284" id="f-1384">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="c-284" id="f-1385">false</ecd:NonRule10b51ArrTrmntdFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="c-284" id="f-1386">false</ecd:Rule10b51ArrTrmntdFlag>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
